Skip to content

parity: per-service AWS audit of all 163 services - #2452

Merged
agbishop merged 905 commits into
mainfrom
chore/parity-sweep-2026-09-03
Sep 10, 2026
Merged

parity: per-service AWS audit of all 163 services#2452
agbishop merged 905 commits into
mainfrom
chore/parity-sweep-2026-09-03

Conversation

@agbishop

@agbishop agbishop commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

Per-service AWS parity audit of all 163 services, one service at a time, each
verified against the pinned aws-sdk-go-v2 source rather than from memory.

What this is

Every service got an audit issue under epic gopherstack-plq, covering five
dimensions: AWS behavior compliance, LocalStack parity, cross-service
integration, performance, and resource leaks. All 163 are closed.

Every confirmed bug carries its own bd issue and a regression test that was
proven to fail without its fix — each guard neutered individually by line
number, with the build confirmed still green so a compile error could not
masquerade as a passing proof.

Recurring bug classes

The sweep kept surfacing the same shapes, which is the useful output here:

  • Ghost rows after delete (8 findings). A delete path clears the primary
    row but not a side map keyed by the same identity, so a recreated resource
    inherits the dead one's state. Worst case: docdb's
    DeleteDBClusterSnapshot left snapshotAttributes behind, so a snapshot
    recreated under a reused identifier inherited the previous one's
    cross-account restore grants.
  • Parsed-then-dropped or never-parsed fields — the single most common
    finding across the campaign.
  • Fabricated fields and modes — a filter the operation does not model
    (vpclattice's serviceArn), or a convenience behavior invented for an
    omitted required member (ses's empty PolicyNames meaning "return
    everything").
  • Documented constraints never enforced — mutual exclusivity
    (sagemakerruntime's Body vs InputLocation), required members, and
    bidirectional field pairings (transcribe's ShowSpeakerLabels /
    MaxSpeakerLabels).
  • Non-total sort comparators, where an unrelated delete reorders tied rows
    because pkgs/store.Index.remove swaps the last element into the removed
    slot.
  • A real data race in outposts: ListOutposts/ListSites returned the
    live backend pointers Table.Snapshot hands out, then released the lock
    while the handler read them unlocked.

Verification

Every agent finding was re-derived independently before being committed: the
SDK citation re-read verbatim, the per-operation modeled error set extracted
directly from deserializers.go, and the regression test re-run against a
neutered guard. Several agent claims were corrected or rejected in the
process, and a few agent pushbacks against the brief were accepted as correct.

make bd-audit reports zero trailer mismatches and zero typo'd IDs across all
commits. TestSnapshotVersionGuard is green and the persistence golden was
refreshed only for additive field changes, never to silence a version bump.

Known limitations

  • LocalStack parity is largely NOT CHECKED. No LocalStack instance was
    available; agents reported this honestly rather than claiming clean. The
    wire-shape and error-code work is the solid part.
  • Later services leaned on each PARITY.md's own documented convention —
    trust rows marked ok whose files are unchanged since last_audit_commit
    rather than re-deriving every operation.
  • The campaign filed a backlog of follow-up issues that remain open and
    unfixed, including permission boundaries never consulted in the IAM
    enforcement path and .sync step-function tasks degrading to
    fire-and-forget. Those were scoped out of the audits, not resolved by them.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m

@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 2429 files, which is 2329 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 40123ba9-26ec-4827-a17d-878aa126694e

📥 Commits

Reviewing files that changed from the base of the PR and between ee7d169 and 03fcbf8.

⛔ Files ignored due to path filters (3)
  • .badges/go.svg is excluded by !**/*.svg
  • .badges/operations.svg is excluded by !**/*.svg
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (2429)
  • .beads/issues.jsonl
  • .claude/skills/gopherstack-gates/SKILL.md
  • .claude/skills/gopherstack-map/SKILL.md
  • .claude/skills/gopherstack-map/scripts/svcmap.sh
  • .claude/skills/gopherstack-parity-audit/SKILL.md
  • .claude/skills/gopherstack-sdk-shape/SKILL.md
  • .claude/skills/gopherstack-sdk-shape/scripts/sdkshape.sh
  • .claude/skills/gopherstack-service-op/SKILL.md
  • .claude/skills/gopherstack-session-close/SKILL.md
  • .claude/skills/gopherstack-tests/SKILL.md
  • .claude/skills/run-gopherstack/SKILL.md
  • .claude/skills/run-gopherstack/driver.sh
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • .golangci.yml
  • Makefile
  • README.md
  • cli.go
  • cli_adapters.go
  • cli_cloudwatch_firehose_wiring_test.go
  • cli_cw_lambda_invoker_wiring_test.go
  • cli_dynamodb_kinesis_wiring_test.go
  • cli_elbv2_ec2_acm_wiring_test.go
  • cli_firehose_kinesis_wiring_test.go
  • cli_firehose_redshift_wiring_test.go
  • cli_fis_cloudwatch_stopcondition_wiring_test.go
  • cli_kinesis_lambda_esm_region_test.go
  • cli_kinesisanalytics_kinesis_s3_wiring_test.go
  • cli_lambda_ecr_wiring_test.go
  • cli_lambda_s3_code_wiring_test.go
  • cli_s3_sns_subject_wiring_test.go
  • cli_s3control_object_lambda_wiring_test.go
  • cli_scheduler_sagemaker_wiring_test.go
  • cli_scheduler_sqs_fifo_wiring_test.go
  • cli_sns_sqs_checker_wiring_test.go
  • cli_test.go
  • cli_textract_rekognition_s3_wiring_test.go
  • cmd/awsgs/main.go
  • cmd/errcodeaudit/genericcodes.go
  • cmd/errcodeaudit/scan_test.go
  • cmd/errtargetaudit/classifiers.go
  • cmd/errtargetaudit/deser.go
  • cmd/errtargetaudit/dispatch.go
  • cmd/errtargetaudit/dispatch_const.go
  • cmd/errtargetaudit/dispatch_datamap.go
  • cmd/errtargetaudit/dispatch_dynamic_test.go
  • cmd/errtargetaudit/dispatch_executor.go
  • cmd/errtargetaudit/dispatch_indexassign.go
  • cmd/errtargetaudit/emit.go
  • cmd/errtargetaudit/errtargetaudit_test.go
  • cmd/errtargetaudit/genericcodes.go
  • cmd/errtargetaudit/helpers.go
  • cmd/errtargetaudit/main.go
  • cmd/errtargetaudit/pkgindex.go
  • cmd/errtargetaudit/report.go
  • cmd/errtargetaudit/scan.go
  • cmd/pgoload/iam.go
  • cmd/pgoload/kinesis.go
  • cmd/pgoload/lambda.go
  • cmd/pgoload/logs.go
  • cmd/pgoload/main.go
  • cmd/pgoload/secretsmanager.go
  • cmd/pgoload/stepfunctions.go
  • cmd/staleclaims/manifest.go
  • cmd/xmlitemwrap/scan.go
  • go.mod
  • internal/dockercompat/api/types/container/container.go
  • internal/dockercompat/client/client.go
  • main_test.go
  • modules/gopherstack/gopherstack.go
  • modules/gopherstack/gopherstack_test.go
  • pkgs/dns/dns_test.go
  • pkgs/eventpattern/eventpattern.go
  • pkgs/eventpattern/eventpattern_test.go
  • pkgs/lockmetrics/collision_test.go
  • pkgs/lockmetrics/lockmetrics.go
  • pkgs/odatatable/models.go
  • pkgs/persistence/testdata/snapshot_inventory.json
  • pkgs/service/router_test.go
  • pkgs/service/service.go
  • services/accessanalyzer/PARITY.md
  • services/accessanalyzer/README.md
  • services/accessanalyzer/errors.go
  • services/accessanalyzer/findings.go
  • services/accessanalyzer/findings_test.go
  • services/accessanalyzer/generated_policies.go
  • services/accessanalyzer/handler.go
  • services/accessanalyzer/handler_findings.go
  • services/accessanalyzer/handler_findings_test.go
  • services/accessanalyzer/handler_generated_policies.go
  • services/accessanalyzer/handler_generated_policies_test.go
  • services/accessanalyzer/handler_policy_validation.go
  • services/accessanalyzer/handler_policy_validation_test.go
  • services/accessanalyzer/interfaces.go
  • services/accessanalyzer/policy_analysis.go
  • services/accessanalyzer/policy_analysis_test.go
  • services/account/PARITY.md
  • services/account/account_info_test.go
  • services/account/handler_regions_test.go
  • services/account/persistence_test.go
  • services/account/regions_test.go
  • services/account/store.go
  • services/acm/PARITY.md
  • services/acm/README.md
  • services/acm/acme_accounts.go
  • services/acm/acme_domain_validations.go
  • services/acm/acme_eab.go
  • services/acm/acme_endpoints.go
  • services/acm/acme_models.go
  • services/acm/certificate_lifecycle.go
  • services/acm/certificate_validation.go
  • services/acm/certificates.go
  • services/acm/certificates_test.go
  • services/acm/crypto.go
  • services/acm/errors.go
  • services/acm/export_test.go
  • services/acm/handler.go
  • services/acm/handler_acme_domain_validations.go
  • services/acm/handler_acme_eab.go
  • services/acm/handler_acme_endpoints.go
  • services/acm/handler_certificate_lifecycle_test.go
  • services/acm/handler_certificate_status_errors_test.go
  • services/acm/handler_certificates.go
  • services/acm/handler_request_certificate_invalid_parameter_test.go
  • services/acm/handler_resource_tags.go
  • services/acm/handler_tags.go
  • services/acm/handler_tags_test.go
  • services/acm/handler_test.go
  • services/acm/janitor.go
  • services/acm/janitor_test.go
  • services/acm/leak_test.go
  • services/acm/sdk_completeness_test.go
  • services/acm/store.go
  • services/acmpca/PARITY.md
  • services/acmpca/certificate_authorities.go
  • services/acmpca/certificate_authorities_test.go
  • services/acmpca/certificates.go
  • services/acmpca/certificates_test.go
  • services/acmpca/errors.go
  • services/acmpca/handler.go
  • services/amplify/PARITY.md
  • services/amplify/README.md
  • services/amplify/domains.go
  • services/amplify/domains_test.go
  • services/amplify/handler_domains.go
  • services/amplify/interfaces.go
  • services/amplify/jobs.go
  • services/amplify/jobs_test.go
  • services/amplify/webhooks.go
  • services/amplify/webhooks_test.go
  • services/amplify/wire_output_required_r80d_test.go
  • services/apigateway/PARITY.md
  • services/apigateway/README.md
  • services/apigateway/api_keys.go
  • services/apigateway/gateway_responses.go
  • services/apigateway/gateway_responses_test.go
  • services/apigateway/handler.go
  • services/apigateway/handler_rest_apis.go
  • services/apigateway/handler_router_test.go
  • services/apigateway/patch_test.go
  • services/apigateway/proxy.go
  • services/apigateway/proxy_authorizer_test.go
  • services/apigateway/proxy_aws_service_integrations_test.go
  • services/apigateway/proxy_integrations.go
  • services/apigateway/proxy_internal_test.go
  • services/apigateway/proxy_test.go
  • services/apigateway/proxy_validation.go
  • services/apigateway/proxy_validation_test.go
  • services/apigateway/rest_apis.go
  • services/apigateway/stages.go
  • services/apigateway/stages_test.go
  • services/apigateway/store.go
  • services/apigateway/store_test.go
  • services/apigateway/usage.go
  • services/apigateway/usage_plans.go
  • services/apigateway/usage_test.go
  • services/apigatewaymanagementapi/admin_test.go
  • services/apigatewaymanagementapi/handler.go
  • services/apigatewaymanagementapi/ringbuffer.go
  • services/apigatewayv2/PARITY.md
  • services/apigatewayv2/README.md
  • services/apigatewayv2/apis.go
  • services/apigatewayv2/authorizers.go
  • services/apigatewayv2/deployments.go
  • services/apigatewayv2/errors.go
  • services/apigatewayv2/handler_apis.go
  • services/apigatewayv2/handler_authorizers_test.go
  • services/apigatewayv2/handler_integration_responses_test.go
  • services/apigatewayv2/handler_integrations_test.go
  • services/apigatewayv2/http_proxy.go
  • services/apigatewayv2/http_proxy_test.go
  • services/apigatewayv2/http_proxy_throttle_test.go
  • services/apigatewayv2/integrations.go
  • services/apigatewayv2/integrations_test.go
  • services/apigatewayv2/interfaces.go
  • services/apigatewayv2/models.go
  • services/apigatewayv2/persistence.go
  • services/apigatewayv2/proxy.go
  • services/apigatewayv2/proxy_internal_test.go
  • services/apigatewayv2/routes.go
  • services/apigatewayv2/stages.go
  • services/apigatewayv2/store.go
  • services/apigatewayv2/throttle.go
  • services/appconfig/PARITY.md
  • services/appconfig/README.md
  • services/appconfig/configuration_profiles.go
  • services/appconfig/configuration_profiles_test.go
  • services/appconfig/cross_service.go
  • services/appconfig/deletion_protection.go
  • services/appconfig/deletion_protection_test.go
  • services/appconfig/environments.go
  • services/appconfig/environments_test.go
  • services/appconfig/errors.go
  • services/appconfig/handler.go
  • services/appconfig/handler_configuration_profiles.go
  • services/appconfig/handler_configuration_profiles_test.go
  • services/appconfig/handler_environments.go
  • services/appconfig/handler_environments_test.go
  • services/appconfig/handler_hosted_configuration_versions.go
  • services/appconfig/interfaces.go
  • services/appconfig/models.go
  • services/appconfig/provider.go
  • services/appconfig/store.go
  • services/appconfig/whitebox_test.go
  • services/appconfigdata/configuration.go
  • services/appconfigdata/configuration_test.go
  • services/appconfigdata/store_test.go
  • services/applicationautoscaling/PARITY.md
  • services/applicationautoscaling/README.md
  • services/applicationautoscaling/errors_test.go
  • services/applicationautoscaling/handler.go
  • services/applicationautoscaling/handler_scalable_targets.go
  • services/applicationautoscaling/handler_scalable_targets_test.go
  • services/applicationautoscaling/handler_scheduled_actions_test.go
  • services/applicationautoscaling/handler_test.go
  • services/applicationautoscaling/pagination_test.go
  • services/applicationautoscaling/persistence_test.go
  • services/applicationautoscaling/scalable_targets.go
  • services/applicationautoscaling/scaling_activities_test.go
  • services/applicationautoscaling/scaling_policies.go
  • services/applicationautoscaling/scheduled_actions.go
  • services/appmesh/PARITY.md
  • services/appmesh/README.md
  • services/appmesh/errors.go
  • services/appmesh/handler.go
  • services/appmesh/handler_meshes.go
  • services/appmesh/handler_virtual_gateways.go
  • services/appmesh/handler_virtual_nodes.go
  • services/appmesh/handler_virtual_routers.go
  • services/appmesh/handler_virtual_services.go
  • services/appmesh/mesh_owner_test.go
  • services/appmesh/virtual_nodes.go
  • services/appmesh/virtual_nodes_test.go
  • services/apprunner/PARITY.md
  • services/apprunner/README.md
  • services/apprunner/auto_scaling_configurations.go
  • services/apprunner/connections.go
  • services/apprunner/handler_auto_scaling_configurations_test.go
  • services/apprunner/handler_connections_test.go
  • services/apprunner/handler_observability_configurations_test.go
  • services/apprunner/handler_services_test.go
  • services/apprunner/handler_vpc_connectors_test.go
  • services/apprunner/observability_configurations.go
  • services/apprunner/service_associations.go
  • services/apprunner/services.go
  • services/apprunner/vpc_connectors.go
  • services/appstream/app_blocks.go
  • services/appstream/app_blocks_test.go
  • services/appstream/fleets.go
  • services/appstream/fleets_test.go
  • services/appstream/images.go
  • services/appstream/images_test.go
  • services/appstream/users.go
  • services/appstream/users_test.go
  • services/appsync/PARITY.md
  • services/appsync/README.md
  • services/appsync/api_keys.go
  • services/appsync/api_keys_test.go
  • services/appsync/auth.go
  • services/appsync/auth_test.go
  • services/appsync/errors.go
  • services/appsync/export_test.go
  • services/appsync/graphql.go
  • services/appsync/graphql_apis.go
  • services/appsync/graphql_apis_test.go
  • services/appsync/graphql_js_pipeline_test.go
  • services/appsync/graphql_test.go
  • services/appsync/handler_api_keys_test.go
  • services/appsync/handler_errors.go
  • services/appsync/handler_errors_test.go
  • services/appsync/handler_graphql_apis.go
  • services/appsync/handler_graphql_apis_test.go
  • services/appsync/handler_schema.go
  • services/appsync/handler_schema_test.go
  • services/appsync/helpers_test.go
  • services/appsync/introspection.go
  • services/appsync/introspection_test.go
  • services/appsync/schema.go
  • services/appsync/schema_test.go
  • services/appsync/store.go
  • services/athena/PARITY.md
  • services/athena/calculations.go
  • services/athena/databases.go
  • services/athena/databases_glue_test.go
  • services/athena/ddl.go
  • services/athena/ddl_test.go
  • services/athena/handler_calculations_test.go
  • services/athena/handler_work_groups.go
  • services/athena/handler_work_groups_test.go
  • services/athena/interfaces.go
  • services/athena/prepared_exec.go
  • services/athena/prepared_exec_test.go
  • services/athena/query_executions.go
  • services/athena/result_object.go
  • services/athena/result_object_test.go
  • services/athena/store.go
  • services/athena/work_groups.go
  • services/autoscaling/PARITY.md
  • services/autoscaling/README.md
  • services/autoscaling/auto_scaling_groups.go
  • services/autoscaling/ec2_launch.go
  • services/autoscaling/elb_targets.go
  • services/autoscaling/elb_targets_test.go
  • services/autoscaling/errors.go
  • services/autoscaling/handler.go
  • services/autoscaling/handler_launch_configurations_test.go
  • services/autoscaling/handler_lifecycle_hooks_test.go
  • services/autoscaling/instance_refreshes.go
  • services/autoscaling/instance_refreshes_async_test.go
  • services/autoscaling/instances.go
  • services/autoscaling/launch_configurations.go
  • services/autoscaling/lifecycle_hooks.go
  • services/autoscaling/load_balancers.go
  • services/autoscaling/models.go
  • services/autoscaling/persistence.go
  • services/autoscaling/store.go
  • services/autoscaling/store_setup.go
  • services/awsconfig/PARITY.md
  • services/awsconfig/README.md
  • services/awsconfig/aggregators.go
  • services/awsconfig/aggregators_test.go
  • services/awsconfig/config_rules.go
  • services/awsconfig/config_rules_test.go
  • services/awsconfig/configuration_recorders.go
  • services/awsconfig/configuration_recorders_test.go
  • services/awsconfig/conformance_pack_template_test.go
  • services/awsconfig/conformance_packs.go
  • services/awsconfig/delivery_channels.go
  • services/awsconfig/delivery_channels_test.go
  • services/awsconfig/errors.go
  • services/awsconfig/errors_test.go
  • services/awsconfig/handler.go
  • services/awsconfig/handler_config_rules.go
  • services/awsconfig/handler_config_rules_test.go
  • services/awsconfig/handler_configuration_recorders_test.go
  • services/awsconfig/organization.go
  • services/awsconfig/remediation.go
  • services/awsconfig/remediation_test.go
  • services/awsconfig/retention.go
  • services/awsconfig/store.go
  • services/awsconfig/store_test.go
  • services/azureblob/PARITY.md
  • services/azureblob/README.md
  • services/azureblob/errors.go
  • services/azureblob/persistence.go
  • services/azureblob/persistence_test.go
  • services/backup/PARITY.md
  • services/backup/README.md
  • services/backup/backup_jobs.go
  • services/backup/interfaces.go
  • services/backup/models.go
  • services/backup/persistence.go
  • services/backup/recovery_points.go
  • services/backup/recovery_points_test.go
  • services/backup/resource_arn_test.go
  • services/backup/restore_testing.go
  • services/backup/restore_testing_test.go
  • services/backup/sdk_completeness_test.go
  • services/backup/store.go
  • services/backup/tags.go
  • services/backup/vault_policies.go
  • services/backup/vaults.go
  • services/backup/vaults_test.go
  • services/batch/export_test.go
  • services/batch/handler_job_queues_test.go
  • services/batch/handler_jobs_test.go
  • services/batch/handler_scheduling_policies_test.go
  • services/batch/handler_service_environments_test.go
  • services/batch/janitor.go
  • services/batch/janitor_test.go
  • services/batch/janitor_timeout_retry_test.go
  • services/batch/job_queues.go
  • services/batch/jobs.go
  • services/batch/models.go
  • services/batch/quota_shares.go
  • services/batch/scheduling_policies.go
  • services/batch/service_environments.go
  • services/bedrock/PARITY.md
  • services/bedrock/agent_aliases.go
  • services/bedrock/agents.go
  • services/bedrock/automated_reasoning_policies.go
  • services/bedrock/custom_models.go
  • services/bedrock/data_sources.go
  • services/bedrock/errors.go
  • services/bedrock/evaluation_jobs.go
  • services/bedrock/export_test.go
  • services/bedrock/flow_aliases.go
  • services/bedrock/flows.go
  • services/bedrock/ghost_row_jkiu_test.go
  • services/bedrock/ghost_row_kr6t_test.go
  • services/bedrock/ghost_row_wg7i_test.go
  • services/bedrock/ghost_row_y0to_test.go
  • services/bedrock/handler.go
  • services/bedrock/handler_advanced_prompt_optimization_jobs.go
  • services/bedrock/handler_agents.go
  • services/bedrock/handler_agents_test.go
  • services/bedrock/handler_automated_reasoning_policies.go
  • services/bedrock/handler_automated_reasoning_policies_test.go
  • services/bedrock/handler_custom_models.go
  • services/bedrock/handler_evaluation_jobs.go
  • services/bedrock/handler_list_maxresults_test.go
  • services/bedrock/handler_model_customization_jobs.go
  • services/bedrock/handler_model_import_jobs.go
  • services/bedrock/handler_model_invocation_jobs.go
  • services/bedrock/handler_test.go
  • services/bedrock/knowledge_bases.go
  • services/bedrock/model_customization_jobs.go
  • services/bedrock/model_import_jobs.go
  • services/bedrock/model_import_jobs_maxresults_test.go
  • services/bedrock/model_invocation_jobs.go
  • services/bedrock/models.go
  • services/bedrock/pagination_sort_totality_test.go
  • services/bedrock/prompts.go
  • services/bedrockagent/agent_version_snapshot_test.go
  • services/bedrockagent/agent_versions.go
  • services/bedrockagent/delete_version_in_use_test.go
  • services/bedrockagent/errors.go
  • services/bedrockagent/flows.go
  • services/bedrockagent/handler_agent_versions.go
  • services/bedrockagent/handler_flows.go
  • services/bedrockagent/handler_helpers.go
  • services/bedrockagent/interfaces.go
  • services/bedrockruntime/PARITY.md
  • services/bedrockruntime/README.md
  • services/bedrockruntime/async_invoke.go
  • services/bedrockruntime/handler.go
  • services/bedrockruntime/handler_async_invoke.go
  • services/bedrockruntime/handler_list_async_invokes_filters_test.go
  • services/bedrockruntime/janitor_interval_test.go
  • services/bedrockruntime/models.go
  • services/ce/PARITY.md
  • services/ce/README.md
  • services/ce/cost_categories.go
  • services/ce/cost_usage.go
  • services/ce/cost_usage_granularity_test.go
  • services/ce/cost_usage_timeperiod_test.go
  • services/ce/cost_usage_wiring_test.go
  • services/ce/filter.go
  • services/ce/handler_cost_categories.go
  • services/ce/handler_cost_usage.go
  • services/ce/store.go
  • services/ce/wire_field_fixes_test.go
  • services/cleanrooms/PARITY.md
  • services/cleanrooms/README.md
  • services/cleanrooms/delete_membership_test.go
  • services/cleanrooms/handler_collaboration_notfound_test.go
  • services/cleanrooms/memberships.go
  • services/cloudcontrol/PARITY.md
  • services/cloudcontrol/handler.go
  • services/cloudcontrol/resource_requests.go
  • services/cloudcontrol/resource_requests_test.go
  • services/cloudcontrol/resources.go
  • services/cloudcontrol/resources_test.go
  • services/cloudformation/PARITY.md
  • services/cloudformation/README.md
  • services/cloudformation/deregister_type_version_test.go
  • services/cloudformation/drift_detection.go
  • services/cloudformation/drift_detection_test.go
  • services/cloudformation/errors.go
  • services/cloudformation/handler_http_test.go
  • services/cloudformation/handler_supplemental_test.go
  • services/cloudformation/handler_type_registry.go
  • services/cloudformation/resources.go
  • services/cloudformation/resources_application_autoscaling.go
  • services/cloudformation/resources_application_autoscaling_test.go
  • services/cloudformation/resources_backup.go
  • services/cloudformation/resources_backup_selection_test.go
  • services/cloudformation/resources_dynamodb_globaltable_test.go
  • services/cloudformation/resources_dynamodb_supplemental.go
  • services/cloudformation/resources_ecs.go
  • services/cloudformation/resources_ecs_test.go
  • services/cloudformation/resources_iot.go
  • services/cloudformation/resources_neptune.go
  • services/cloudformation/resources_redshift.go
  • services/cloudformation/resources_secretsmanager.go
  • services/cloudformation/resources_secretsmanager_rotation_test.go
  • services/cloudformation/resources_secretsmanager_test.go
  • services/cloudformation/resources_supplemental_test.go
  • services/cloudformation/resources_wafv2.go
  • services/cloudformation/resources_wafv2_rulegroup_test.go
  • services/cloudformation/stack_lifecycle.go
  • services/cloudformation/stack_lifecycle_test.go
  • services/cloudformation/stack_sets.go
  • services/cloudformation/stack_sets_test.go
  • services/cloudformation/store.go
  • services/cloudformation/store_supplemental_test.go
  • services/cloudformation/type_registry.go
  • services/cloudformation/type_registry_feature_test.go
  • services/cloudfront/PARITY.md
  • services/cloudfront/distributions.go
  • services/cloudfront/distributions_transition_test.go
  • services/cloudfront/error_sentinel_fixes_test.go
  • services/cloudfront/errors.go
  • services/cloudfront/field_level_encryption.go
  • services/cloudfront/function_config_quantities_test.go
  • services/cloudfront/handler.go
  • services/cloudfront/handler_connection.go
  • services/cloudfront/handler_dispatch.go
  • services/cloudfront/handler_distribution_tenants_lifecycle_test.go
  • services/cloudfront/handler_field_level_encryption_test.go
  • services/cloudfront/handler_functions.go
  • services/cloudfront/handler_key_value_store_test.go
  • services/cloudfront/handler_origin_request_policies_test.go
  • services/cloudfront/key_value_store.go
  • services/cloudfront/origin_request_policies.go
  • services/cloudfront/persistence.go
  • services/cloudfront/persistence_test.go
  • services/cloudfront/quantity_validation.go
  • services/cloudfront/reset_whitebox_test.go
  • services/cloudfront/shutdown_leak_test.go
  • services/cloudfront/store.go
  • services/cloudfront/store_setup.go
  • services/cloudfrontkeyvaluestore/PARITY.md
  • services/cloudfrontkeyvaluestore/README.md
  • services/cloudfrontkeyvaluestore/errors.go
  • services/cloudfrontkeyvaluestore/handler.go
  • services/cloudfrontkeyvaluestore/handler_test.go
  • services/cloudtrail/PARITY.md
  • services/cloudtrail/README.md
  • services/cloudtrail/channels.go
  • services/cloudtrail/delivery.go
  • services/cloudtrail/errors.go
  • services/cloudtrail/event_data_stores.go
  • services/cloudtrail/events.go
  • services/cloudtrail/handler.go
  • services/cloudtrail/handler_event_selectors_test.go
  • services/cloudtrail/handler_resource_policies_test.go
  • services/cloudtrail/handler_trails.go
  • services/cloudtrail/handler_trails_test.go
  • services/cloudtrail/interfaces.go
  • services/cloudtrail/s3_delivery_test.go
  • services/cloudtrail/store.go
  • services/cloudtrail/trails.go
  • services/cloudwatch/PARITY.md
  • services/cloudwatch/README.md
  • services/cloudwatch/alarm_describe_family_filters_test.go
  • services/cloudwatch/alarm_eval_test.go
  • services/cloudwatch/alarm_history.go
  • services/cloudwatch/alarm_history_pagination_internal_test.go
  • services/cloudwatch/alarm_history_test.go
  • services/cloudwatch/alarm_mute_suppression_test.go
  • services/cloudwatch/alarm_state.go
  • services/cloudwatch/alarm_state_test.go
  • services/cloudwatch/alarm_subscriptions.go
  • services/cloudwatch/alarm_subscriptions_test.go
  • services/cloudwatch/alarms.go
  • services/cloudwatch/alarms_test.go
  • services/cloudwatch/composite_alarms_test.go
  • services/cloudwatch/errors.go
  • services/cloudwatch/export_test.go
  • services/cloudwatch/handler_alarm_history.go
  • services/cloudwatch/handler_alarms.go
  • services/cloudwatch/handler_dashboards.go
  • services/cloudwatch/handler_insight_rules.go
  • services/cloudwatch/handler_insight_rules_test.go
  • services/cloudwatch/handler_metric_streams.go
  • services/cloudwatch/handler_metric_streams_test.go
  • services/cloudwatch/handler_metrics.go
  • services/cloudwatch/handler_metrics_test.go
  • services/cloudwatch/interfaces.go
  • services/cloudwatch/log_alarms.go
  • services/cloudwatch/persistence_test.go
  • services/cloudwatch/rpcv2cbor_alarm_history.go
  • services/cloudwatch/rpcv2cbor_alarms.go
  • services/cloudwatch/rpcv2cbor_dashboards.go
  • services/cloudwatch/rpcv2cbor_insight_rules.go
  • services/cloudwatch/rpcv2cbor_metric_streams.go
  • services/cloudwatch/rpcv2cbor_test.go
  • services/cloudwatch/store.go
  • services/cloudwatch/store_test.go
  • services/cloudwatchlogs/PARITY.md
  • services/cloudwatchlogs/README.md
  • services/cloudwatchlogs/deliveries.go
  • services/cloudwatchlogs/deliveries_test.go
  • services/cloudwatchlogs/errors.go
  • services/cloudwatchlogs/export.go
  • services/cloudwatchlogs/export_tasks.go
  • services/cloudwatchlogs/export_tasks_test.go
  • services/cloudwatchlogs/export_write_test.go
  • services/cloudwatchlogs/handler.go
  • services/cloudwatchlogs/handler_export_tasks.go
  • services/cloudwatchlogs/handler_export_tasks_test.go
  • services/cloudwatchlogs/interfaces.go
  • services/cloudwatchlogs/isolation_test.go
  • services/cloudwatchlogs/log_events.go
  • services/cloudwatchlogs/log_events_test.go
  • services/cloudwatchlogs/models.go
  • services/cloudwatchlogs/persistence_test.go
  • services/codeartifact/PARITY.md
  • services/codeartifact/domains.go
  • services/codeartifact/handler_domains.go
  • services/codeartifact/handler_domains_test.go
  • services/codeartifact/handler_package_version_rejection_test.go
  • services/codeartifact/handler_package_versions.go
  • services/codeartifact/handler_repositories.go
  • services/codeartifact/handler_repositories_test.go
  • services/codeartifact/persistence_test.go
  • services/codeartifact/repositories.go
  • services/codeartifact/store.go
  • services/codebuild/PARITY.md
  • services/codebuild/README.md
  • services/codebuild/handler_builds.go
  • services/codebuild/janitor_test.go
  • services/codebuild/pagination_test.go
  • services/codebuild/projects.go
  • services/codecommit/PARITY.md
  • services/codecommit/actor_arn_test.go
  • services/codecommit/commits.go
  • services/codecommit/errors.go
  • services/codecommit/files.go
  • services/codecommit/handler.go
  • services/codecommit/handler_commits_test.go
  • services/codecommit/handler_merges.go
  • services/codecommit/handler_merges_test.go
  • services/codecommit/handler_pull_request_approvals_test.go
  • services/codecommit/handler_pull_requests.go
  • services/codecommit/handler_pull_requests_test.go
  • services/codecommit/merges.go
  • services/codecommit/models.go
  • services/codecommit/orphan_code_sentinel_fixes_test.go
  • services/codecommit/persistence_test.go
  • services/codecommit/pull_requests.go
  • services/codeconnections/PARITY.md
  • services/codeconnections/README.md
  • services/codeconnections/connections_test.go
  • services/codeconnections/handler_connections.go
  • services/codeconnections/hosts.go
  • services/codeconnections/hosts_list_test.go
  • services/codeconnections/repository_links.go
  • services/codeconnections/repository_links_test.go
  • services/codedeploy/PARITY.md
  • services/codedeploy/README.md
  • services/codedeploy/applications.go
  • services/codedeploy/cross_service_test.go
  • services/codedeploy/deployment_configs.go
  • services/codedeploy/deployment_configs_test.go
  • services/codedeploy/deployment_group_tag_filters_test.go
  • services/codedeploy/deployment_groups.go
  • services/codedeploy/deployment_groups_test.go
  • services/codedeploy/deployment_instances.go
  • services/codedeploy/deployment_instances_test.go
  • services/codedeploy/deployments.go
  • services/codedeploy/deployments_test.go
  • services/codedeploy/errors.go
  • services/codedeploy/handler.go
  • services/codedeploy/handler_deployment_instances.go
  • services/codedeploy/handler_deployments.go
  • services/codedeploy/models.go
  • services/codedeploy/on_premises_instances.go
  • services/codedeploy/on_premises_instances_test.go
  • services/codedeploy/store.go
  • services/codepipeline/PARITY.md
  • services/codepipeline/README.md
  • services/codepipeline/action_engine.go
  • services/codepipeline/action_engine_cross_service_test.go
  • services/codepipeline/custom_action_types.go
  • services/codepipeline/errors.go
  • services/codepipeline/handler.go
  • services/codepipeline/handler_test.go
  • services/codepipeline/handler_third_party_jobs.go
  • services/codepipeline/interfaces.go
  • services/codepipeline/jobs.go
  • services/codepipeline/jobs_failure_wire_test.go
  • services/codepipeline/jobs_test.go
  • services/codepipeline/models.go
  • services/codepipeline/persistence_test.go
  • services/codepipeline/pipeline_state.go
  • services/codepipeline/pipeline_state_test.go
  • services/codepipeline/pipelines.go
  • services/codepipeline/store.go
  • services/codepipeline/third_party_job_client_token_test.go
  • services/codepipeline/third_party_jobs.go
  • services/codepipeline/third_party_jobs_test.go
  • services/codepipeline/undeclared_error_codes_test.go
  • services/codestarconnections/PARITY.md
  • services/codestarconnections/README.md
  • services/codestarconnections/connections.go
  • services/codestarconnections/handler_connections_edgecases_test.go
  • services/codestarconnections/handler_hosts_edgecases_test.go
  • services/codestarconnections/handler_repository_links_test.go
  • services/codestarconnections/hosts.go
  • services/codestarconnections/repository_links.go
  • services/cognitoidentity/PARITY.md
  • services/cognitoidentity/handler.go
  • services/cognitoidentity/identity_pool_roles.go
  • services/cognitoidentity/identity_pools.go
  • services/cognitoidentity/identity_pools_test.go
  • services/cognitoidp/PARITY.md
  • services/cognitoidp/attributes.go
  • services/cognitoidp/attributes_management_test.go
  • services/cognitoidp/attributes_test.go
  • services/cognitoidp/auth.go
  • services/cognitoidp/auth_test.go
  • services/cognitoidp/domains.go
  • services/cognitoidp/domains_test.go
  • services/cognitoidp/export_test.go
  • services/cognitoidp/handler.go
  • services/cognitoidp/handler_test.go
  • services/cognitoidp/janitor.go
  • services/cognitoidp/janitor_test.go
  • services/cognitoidp/models_users.go
  • services/cognitoidp/persistence.go
  • services/cognitoidp/store.go
  • services/cognitoidp/user_migration.go
  • services/cognitoidp/user_pool_replicas.go
  • services/cognitoidp/user_pools.go
  • services/cognitoidp/user_pools_test.go
  • services/cognitoidp/users.go
  • services/cognitoidp/users_test.go
  • services/comprehend/PARITY.md
  • services/comprehend/export_test.go
  • services/comprehend/filter_test.go
  • services/comprehend/handler_resources_test.go
  • services/comprehend/handler_test.go
  • services/comprehend/presence_validation_test.go
  • services/comprehend/store.go
  • services/comprehend/store_test.go
  • services/databrew/PARITY.md
  • services/databrew/datasets.go
  • services/databrew/datasets_test.go
  • services/databrew/errors.go
  • services/databrew/handler.go
  • services/databrew/handler_jobs.go
  • services/databrew/jobs.go
  • services/databrew/models.go
  • services/databrew/projects.go
  • services/databrew/projects_test.go
  • services/databrew/recipes.go
  • services/databrew/recipes_test.go
  • services/databrew/rulesets.go
  • services/databrew/rulesets_test.go
  • services/databrew/schedules.go
  • services/databrew/schedules_test.go
  • services/datasync/handler_tasks.go
  • services/datasync/interfaces.go
  • services/datasync/locations.go
  • services/datasync/models.go
  • services/datasync/persistence_test.go
  • services/datasync/tags.go
  • services/datasync/tasks.go
  • services/datasync/wire_field_fixes_test.go
  • services/dax/PARITY.md
  • services/dax/README.md
  • services/dax/clusters.go
  • services/dax/clusters_test.go
  • services/dax/dataplane/ops.go
  • services/dax/handler_test.go
  • services/dax/subnet_groups.go
  • services/dax/subnet_groups_test.go
  • services/detective/PARITY.md
  • services/detective/README.md
  • services/detective/handler_investigations_test.go
  • services/detective/investigations.go
  • services/detective/investigations_test.go
  • services/detective/models.go
  • services/directconnect/PARITY.md
  • services/directconnect/README.md
  • services/directconnect/connections.go
  • services/directconnect/export_test.go
  • services/directconnect/handler.go
  • services/directconnect/lags.go
  • services/directconnect/lags_test.go
  • services/directconnect/sdk_roundtrip_test.go
  • services/directconnect/shutdown_leak_test.go
  • services/directoryservice/PARITY.md
  • services/directoryservice/README.md
  • services/directoryservice/client_auth.go
  • services/directoryservice/errors.go
  • services/directoryservice/handler.go
  • services/directoryservice/handler_client_auth_test.go
  • services/directoryservice/handler_ldaps_test.go
  • services/directoryservice/handler_radius_test.go
  • services/directoryservice/handler_snapshots_test.go
  • services/directoryservice/ldaps.go
  • services/directoryservice/radius.go
  • services/directoryservice/snapshots.go
  • services/dlm/handler.go
  • services/dlm/handler_lifecycle_policies_test.go
  • services/dlm/interfaces.go
  • services/dlm/lifecycle_policies.go
  • services/dlm/lifecycle_policies_test.go
  • services/dlm/models.go
  • services/dms/PARITY.md
  • services/dms/README.md
  • services/dms/assessment_runs.go
  • services/dms/data_providers.go
  • services/dms/endpoints.go
  • services/dms/export_test.go
  • services/dms/handler_assessment_runs.go
  • services/dms/handler_assessment_runs_test.go
  • services/dms/handler_data_providers_test.go
  • services/dms/handler_endpoints_test.go
  • services/dms/handler_instance_profiles_test.go
  • services/dms/handler_replication_configs_test.go
  • services/dms/instance_profiles.go
  • services/dms/replication_configs.go
  • services/docdb/PARITY.md
  • services/docdb/README.md
  • services/docdb/db_cluster_snapshots.go
  • services/docdb/events.go
  • services/docdb/global_clusters.go
  • services/docdb/handler_db_cluster_snapshots_test.go
  • services/docdb/handler_events_test.go
  • services/docdb/handler_global_clusters_test.go
  • services/docdb/store.go
  • services/dynamodb/PARITY.md
  • services/dynamodb/README.md
  • services/dynamodb/backup_interface.go
  • services/dynamodb/backup_ops.go
  • services/dynamodb/delete_table_cleanup_test.go
  • services/dynamodb/eav_wire_guard.go
  • services/dynamodb/eav_wire_guard_test.go
  • services/dynamodb/fis_test.go
  • services/dynamodb/global_tables.go
  • services/dynamodb/handler.go
  • services/dynamodb/handler_import.go
  • services/dynamodb/janitor.go
  • services/dynamodb/janitor_activatetimer_internal_test.go
  • services/dynamodb/replication.go
  • services/dynamodb/streams_ops.go
  • services/dynamodb/streams_ops_test.go
  • services/dynamodb/table_ops.go
  • services/dynamodb/table_ops_test.go
  • services/dynamodb/table_ops_wire_test.go
  • services/dynamodb/table_status_test.go
  • services/dynamodb/ttl_sweep_test.go
  • services/dynamodb/whitebox_test.go
  • services/dynamodbstreams/PARITY.md
  • services/dynamodbstreams/README.md
  • services/dynamodbstreams/handler.go
  • services/ec2/PARITY.md
  • services/ec2/README.md
  • services/ec2/cleanup_test.go
  • services/ec2/ec2core.go
  • services/ec2/elastic_ips.go
  • services/ec2/elastic_ips_test.go
  • services/ec2/ghost_rows_test.go
  • services/ec2/handler.go
  • services/ec2/handler_client_vpn.go
  • services/ec2/handler_filters.go
  • services/ec2/handler_instances_lifecycle.go
  • services/ec2/handler_route_tables.go
  • services/ec2/handler_spot_fleet.go
  • services/ec2/iam_instance_profile_lifecycle_test.go
  • services/ec2/images.go
  • services/ec2/instances.go
  • services/ec2/internet_gateways.go
  • services/ec2/internet_gateways_test.go
  • services/ec2/janitor.go
  • services/ec2/main_route_table_test.go
  • services/ec2/network_acls.go
  • services/ec2/network_acls_test.go
  • services/ec2/network_interfaces.go
  • services/ec2/persistence.go
  • services/ec2/reset_leak_internal_test.go
  • services/ec2/route_tables.go
  • services/ec2/run_instances_security_group_names_test.go
  • services/ec2/sdk_completeness_test.go
  • services/ec2/security_groups.go
  • services/ec2/security_groups_test.go
  • services/ec2/snapshots.go
  • services/ec2/store.go
  • services/ec2/store_setup.go
  • services/ec2/subnets.go
  • services/ec2/vpc_endpoints.go
  • services/ec2/vpc_endpoints_test.go
  • services/ec2/vpcs.go
  • services/ec2/wire_field_fixes_ec2sweep44_test.go
  • services/ecr/PARITY.md
  • services/ecr/README.md
  • services/ecr/errors.go
  • services/ecr/export_test.go
  • services/ecr/handler.go
  • services/ecr/handler_internal_error_test.go
  • services/ecr/handler_repositories.go
  • services/ecr/images.go
  • services/ecr/images_test.go
  • services/ecr/interfaces.go
  • services/ecr/interfaces_test.go
  • services/ecr/layers_test.go
  • services/ecr/lifecycle_policy.go
  • services/ecr/lifecycle_policy_test.go
  • services/ecr/repositories.go
  • services/ecr/repositories_test.go
  • services/ecr/repository_creation_templates.go
  • services/ecr/repository_creation_templates_test.go
  • services/ecr/store.go
  • services/ecr/store_test.go
  • services/ecs/PARITY.md
  • services/ecs/README.md
  • services/ecs/capacity_providers.go
  • services/ecs/clusters.go
  • services/ecs/clusters_internal_test.go
  • services/ecs/docker_runner.go
  • services/ecs/docker_runner_internal_test.go
  • services/ecs/errors.go
  • services/ecs/handler_capacity_providers_test.go
  • services/ecs/handler_clusters_test.go
  • services/ecs/handler_services.go
  • services/ecs/handler_services_deployments_test.go
  • services/ecs/handler_services_test.go
  • services/ecs/interfaces.go
  • services/ecs/janitor.go
  • services/ecs/janitor_test.go
  • services/ecs/lifecycle_internal_test.go
  • services/ecs/logs.go
  • services/ecs/logs_internal_test.go
  • services/ecs/provider.go
  • services/ecs/purge_leak_internal_test.go
  • services/ecs/service_index_test.go
  • services/ecs/services.go
  • services/ecs/store.go
  • services/ecs/store_setup.go
  • services/ecs/task_containers.go
  • services/ecs/tasks.go
  • services/efs/PARITY.md
  • services/efs/README.md
  • services/efs/access_points.go
  • services/efs/access_points_test.go
  • services/efs/account_preferences.go
  • services/efs/backup_policy.go
  • services/efs/backup_policy_test.go
  • services/efs/crossservice.go
  • services/efs/crossservice_test.go
  • services/efs/errors.go
  • services/efs/file_system_policy.go
  • services/efs/file_system_policy_test.go
  • services/efs/file_systems.go
  • services/efs/file_systems_test.go
  • services/efs/handler.go
  • services/efs/handler_account_preferences_test.go
  • services/efs/handler_replication_test.go
  • services/efs/lifecycle_config.go
  • services/efs/lifecycle_config_test.go
  • services/efs/mount_target_ip_address_type_test.go
  • services/efs/mount_targets.go
  • services/efs/mount_targets_test.go
  • services/efs/replication.go
  • services/efs/replication_test.go
  • services/efs/store.go
  • services/efs/store_test.go
  • services/efs/tags.go
  • services/efs/tags_test.go
  • services/eks/PARITY.md
  • services/eks/README.md
  • services/eks/addon_namespace_test.go
  • services/eks/addon_pod_identity_test.go
  • services/eks/addons.go
  • services/eks/addons_test.go
  • services/eks/clusters.go
  • services/eks/clusters_test.go
  • services/eks/handler.go
  • services/eks/handler_addons.go
  • services/eks/handler_pod_identity.go
  • services/eks/handler_updates.go
  • services/eks/handler_updates_internal_test.go
  • services/eks/models.go
  • services/eks/node_groups.go
  • services/eks/node_groups_test.go
  • services/eks/persistence_test.go
  • services/eks/sdk_completeness_test.go
  • services/eks/store_test.go
  • services/eks/tags_test.go
  • services/eks/updates.go
  • services/eks/updates_test.go
  • services/elasticache/PARITY.md
  • services/elasticache/README.md
  • services/elasticache/cache_clusters.go
  • services/elasticache/cache_clusters_test.go
  • services/elasticache/errors.go
  • services/elasticache/handler.go
  • services/elasticache/handler_cache_clusters.go
  • services/elasticache/handler_cache_clusters_test.go
  • services/elasticache/handler_error_test.go
  • services/elasticache/handler_internal_test.go
  • services/elasticache/handler_replication_groups.go
  • services/elasticache/handler_subnet_groups.go
  • services/elasticache/handler_users.go
  • services/elasticache/handler_users_test.go
  • services/elasticache/models.go
  • services/elasticache/replication_groups.go
  • services/elasticache/subnet_groups.go
  • services/elasticache/subnet_groups_test.go
  • services/elasticache/user_groups.go
  • services/elasticache/user_groups_test.go
  • services/elasticache/users.go
  • services/elasticache/users_test.go
  • services/elasticbeanstalk/application_versions.go
  • services/elasticbeanstalk/application_versions_test.go
  • services/elasticbeanstalk/applications.go
  • services/elasticbeanstalk/applications_test.go
  • services/elasticbeanstalk/environments.go
  • services/elasticbeanstalk/environments_test.go
  • services/elasticbeanstalk/handler_applications.go
  • services/elasticbeanstalk/handler_applications_test.go
  • services/elasticbeanstalk/isolation_test.go
  • services/elasticsearch/PARITY.md
  • services/elasticsearch/domain_lifecycle.go
  • services/elasticsearch/domains.go
  • services/elasticsearch/errors.go
  • services/elasticsearch/handler.go
  • services/elasticsearch/handler_domain_lifecycle.go
  • services/elasticsearch/handler_domain_lifecycle_test.go
  • services/elasticsearch/handler_packages.go
  • services/elasticsearch/handler_packages_test.go
  • services/elasticsearch/handler_reserved_instances_test.go
  • services/elasticsearch/handler_tags.go
  • services/elasticsearch/handler_tags_test.go
  • services/elasticsearch/handler_vpc_endpoints_test.go
  • services/elasticsearch/packages.go
  • services/elasticsearch/persistence_test.go
  • services/elasticsearch/reserved_instances.go
  • services/elb/PARITY.md
  • services/elb/attributes.go
  • services/elb/attributes_test.go
  • services/elb/crossservice.go
  • services/elb/crossservice_test.go
  • services/elb/handler_attributes.go
  • services/elb/instances.go
  • services/elb/interfaces.go
  • services/elb/load_balancers.go
  • services/elb/load_balancers_test.go
  • services/elb/models.go
  • services/elb/policies.go
  • services/elb/policies_test.go
  • services/elbv2/PARITY.md
  • services/elbv2/README.md
  • services/elbv2/crossservice.go
  • services/elbv2/crossservice_test.go
  • services/elbv2/errors.go
  • services/elbv2/handler.go
  • services/elbv2/interfaces.go
  • services/elbv2/listener_certificates.go
  • services/elbv2/listeners.go
  • services/elbv2/load_balancers.go
  • services/elbv2/shutdown_leak_test.go
  • services/elbv2/store.go
  • services/elbv2/tags_test.go
  • services/elbv2/target_groups.go
  • services/elbv2/target_groups_test.go
  • services/elbv2/targets.go
  • services/emr/PARITY.md
  • services/emr/README.md
  • services/emr/cluster_settings.go
  • services/emr/clusters.go
  • services/emr/errors.go
  • services/emr/handler_cluster_settings_test.go
  • services/emr/handler_clusters_test.go
  • services/emr/handler_steps_test.go
  • services/emr/janitor.go
  • services/emr/janitor_internal_test.go
  • services/emr/models.go
  • services/emr/steps.go
  • services/emrserverless/PARITY.md
  • services/emrserverless/README.md
  • services/emrserverless/applications.go
  • services/emrserverless/applications_test.go
  • services/emrserverless/errors.go
  • services/emrserverless/handler.go
  • services/emrserverless/handler_applications_test.go
  • services/emrserverless/handler_sessions_test.go
  • services/emrserverless/job_runs.go
  • services/emrserverless/job_runs_test.go
  • services/emrserverless/session.go
  • services/eventbridge/PARITY.md
  • services/eventbridge/README.md
  • services/eventbridge/delivery.go
  • services/eventbridge/delivery_api_destination.go
  • services/eventbridge/delivery_api_destination_test.go
  • services/eventbridge/delivery_bus_dlq_test.go
  • services/eventbridge/delivery_event_bus_test.go
  • services/eventbridge/errtargetaudit_resource_limit_test.go
  • services/eventbridge/event_buses.go
  • services/eventbridge/export_test.go
  • services/eventbridge/handler_dispatch.go
  • services/eventbridge/handler_test.go
  • services/eventbridge/pattern.go
  • services/eventbridge/pattern_test.go
  • services/eventbridge/replays.go
  • services/eventbridge/replays_test.go
  • services/eventbridge/rules.go
  • services/eventbridge/rules_test.go
  • services/eventbridge/store.go
  • services/eventbridge/store_test.go
  • services/firehose/PARITY.md
  • services/firehose/README.md
  • services/firehose/delivery_redshift.go
  • services/firehose/delivery_streams.go
  • services/firehose/export_test.go
  • services/firehose/flush.go
  • services/firehose/flush_test.go
  • services/firehose/handler_delivery_streams.go
  • services/firehose/handler_delivery_streams_test.go
  • services/firehose/interfaces.go
  • services/firehose/kinesis_source.go
  • services/firehose/kinesis_source_test.go
  • services/firehose/models.go
  • services/firehose/store.go
  • services/firehose/wire_aoss_destination_test.go
  • services/firehose/wire_field_fixes_test.go
  • services/fis/PARITY.md
  • services/fis/README.md
  • services/fis/experiment_selection_mode_test.go
  • services/fis/experiment_templates.go
  • services/fis/experiment_templates_validation_test.go
  • services/fis/experiments.go
  • services/fis/export_test.go
  • services/fis/handler.go
  • services/fis/handler_experiments.go
  • services/fis/interfaces.go
  • services/fis/stop_condition_alarm_test.go
  • services/fis/store.go
  • services/forecast/PARITY.md
  • services/forecast/errors.go
  • services/forecast/handler.go
  • services/forecast/store.go
  • services/forecast/store_test.go
  • services/forecast/tags.go
  • services/forecast/tags_test.go
  • services/fsx/PARITY.md
  • services/fsx/backups.go
  • services/fsx/cascade_delete_test.go
  • services/fsx/data_repository_associations.go
  • services/fsx/data_repository_tasks.go
  • services/fsx/errors.go
  • services/fsx/file_cache_wire_test.go
  • services/fsx/file_caches.go
  • services/fsx/file_systems.go
  • services/fsx/handler.go
  • services/fsx/handler_create_tags_test.go
  • services/fsx/handler_data_repository_tasks_test.go
  • services/fsx/handler_file_caches_test.go
  • services/fsx/handler_test.go
  • services/fsx/interfaces.go
  • services/fsx/snapshots.go
  • services/fsx/storage_virtual_machines.go
  • services/fsx/tag_limit_test.go
  • services/fsx/tags.go
  • services/fsx/volumes.go
  • services/glacier/PARITY.md
  • services/glacier/archives.go
  • services/glacier/archives_test.go
  • services/glacier/export_test.go
  • services/glacier/handler_multipart_uploads.go
  • services/glacier/handler_multipart_uploads_test.go
  • services/glacier/handler_vaults.go
  • services/glacier/handler_vaults_test.go
  • services/glacier/interfaces.go
  • services/glacier/jobs.go
  • services/glacier/models.go
  • services/glacier/multipart_uploads.go
  • services/glacier/multipart_uploads_test.go
  • services/glacier/oldshape_restore_test.go
  • services/glacier/persistence.go
  • services/glacier/persistence_test.go
  • services/glacier/sdk_vault_lock_enforcement_test.go
  • services/glacier/store.go
  • services/glacier/store_test.go
  • services/glacier/vaults.go
  • services/glacier/whitebox_test.go
  • services/glacier/writesince_writesites_test.go
  • services/glue/PARITY.md
  • services/glue/README.md
  • services/glue/databases.go
  • services/glue/databases_test.go
  • services/glue/export_test.go
  • services/glue/get_partitions_bench_test.go
  • services/glue/get_partitions_index_test.go
  • services/glue/jobrun_timeout_test.go
  • services/glue/jobs.go
  • services/glue/lifecycle_advance_test.go
  • services/glue/partitions.go
  • services/glue/partitions_test.go
  • services/glue/reconciler.go
  • services/glue/reconciler_test.go
  • services/glue/store.go
  • services/glue/store_setup.go
  • services/grafana/PARITY.md
  • services/grafana/export_test.go
  • services/grafana/handler.go
  • services/grafana/service_accounts.go
  • services/grafana/service_accounts_test.go
  • services/grafana/shutdown_leak_test.go
  • services/grafana/versions.go
  • services/guardduty/PARITY.md
  • services/guardduty/cross_service.go
  • services/guardduty/cross_service_test.go
  • services/guardduty/detectors.go
  • services/guardduty/detectors_test.go
  • services/guardduty/filters.go
  • services/guardduty/finding_criteria.go
  • services/guardduty/findings.go
  • services/guardduty/findings_test.go
  • services/guardduty/handler_ip_and_threatintel_sets.go
  • services/guardduty/handler_ip_and_threatintel_sets_test.go
  • services/guardduty/members.go
  • services/guardduty/members_test.go
  • services/guardduty/provider.go
  • services/guardduty/store.go
  • services/iam/PARITY.md
  • services/iam/README.md
  • services/iam/account.go
  • services/iam/account_test.go
  • services/iam/comprehensive_lock_test.go
  • services/iam/enforcer_test.go
  • services/iam/evaluator.go
  • services/iam/evaluator_bench_test.go
  • services/iam/evaluator_cache_test.go
  • services/iam/handler_account_reporting_test.go
  • services/iam/handler_mfa.go
  • services/iam/handler_test.go
  • services/iam/mfa.go
  • services/iam/mfa_test.go
  • services/iam/middleware.go
  • services/iam/middleware_test.go
  • services/iam/models_mfa.go
  • services/iam/models_providers.go
  • services/iam/permissions_boundary_simulation_parity_test.go
  • services/iam/persistence.go
  • services/iam/policies.go
  • services/iam/providers.go
  • services/iam/simulate_custom_policy_boundary_test.go
  • services/iam/simulation.go
  • services/iam/store.go
  • services/iam/store_test.go
  • services/iam/testdata/fuzz/FuzzWildcardMatchMatchesDPReference/9d5b1cbba648f11d
  • services/iam/users.go
  • services/iam/wildcard_match_whitebox_test.go
  • services/identitystore/PARITY.md
  • services/identitystore/guard_sentinel_test.go
  • services/identitystore/handler.go
  • services/identitystore/handler_guard_test.go
  • services/identitystore/handler_users_test.go
  • services/identitystore/validation.go
  • services/inspector2/PARITY.md
  • services/inspector2/README.md
  • services/inspector2/code_security.go
  • services/inspector2/filters.go
  • services/inspector2/filters_suppression_test.go
  • services/inspector2/findings.go
  • services/inspector2/findings_aggregation_test.go
  • services/inspector2/handler.go
  • services/inspector2/handler_coverage_reporting.go
  • services/inspector2/wire_field_fixes_or9_test.go
  • services/iot/PARITY.md
  • services/iot/README.md
  • services/iot/audit.go
  • services/iot/authorizers.go
  • services/iot/billing_groups.go
  • services/iot/certificates.go
  • services/iot/commands.go
  • services/iot/handler.go
  • services/iot/handler_audit.go
  • services/iot/handler_billing_groups.go
  • services/iot/handler_billing_groups_test.go
  • services/iot/handler_devicedefender.go
  • services/iot/handler_helpers.go
  • services/iot/handler_indexing.go
  • services/iot/handler_jobs.go
  • services/iot/handler_metrics.go
  • services/iot/handler_metrics_test.go
  • services/iot/handler_policies_test.go
  • services/iot/handler_security_profiles.go
  • services/iot/handler_security_profiles_test.go
  • services/iot/handler_thing_groups.go
  • services/iot/handler_thing_groups_test.go
  • services/iot/indexing_test.go
  • services/iot/interfaces.go
  • services/iot/jobs.go
  • services/iot/metrics.go
  • services/iot/ota_updates.go
  • services/iot/packages.go
  • services/iot/policies.go
  • services/iot/provisioning.go
  • services/iot/security_profiles.go
  • services/iot/store.go
  • services/iot/store_setup.go
  • services/iot/store_test.go
  • services/iot/streams.go
  • services/iot/tags_delete_cleanup_test.go
  • services/iot/thing_group_reverse_index_test.go
  • services/iot/thing_groups.go
  • services/iot/thing_types.go
  • services/iot/things_test.go
  • services/iot/topic_rules.go
  • services/iot/undeclared_error_codes_test.go
  • services/iotanalytics/PARITY.md
  • services/iotanalytics/README.md
  • services/iotanalytics/handler_pipelines_test.go
  • services/iotanalytics/handler_tags_test.go
  • services/iotanalytics/handler_test.go
  • services/iotanalytics/persistence_test.go
  • services/iotanalytics/pipelines.go
  • services/iotanalytics/pipelines_test.go
  • services/iotanalytics/store.go
  • services/iotanalytics/store_test.go
  • services/iotanalytics/wire_field_fixes_test.go
  • services/iotanalytics/wire_shape_sdk_roundtrip_test.go
  • services/iotdataplane/PARITY.md
  • services/iotdataplane/README.md
  • services/iotdataplane/connections_test.go
  • services/iotdataplane/handler.go
  • services/iotdataplane/handler_connections.go
  • services/iotdataplane/handler_retained_messages.go
  • services/iotdataplane/handler_shadows.go
  • services/iotwireless/PARITY.md
  • services/iotwireless/destinations.go
  • services/iotwireless/destinations_test.go
  • services/iotwireless/errors.go
  • services/iotwireless/handler.go
  • services/iotwireless/multicast_groups.go
  • services/iotwireless/multicast_groups_test.go
  • services/iotwireless/positioning_leak_test.go
  • services/iotwireless/profiles.go
  • services/iotwireless/profiles_test.go
  • services/iotwireless/wireless_devices.go
  • services/iotwireless/wireless_gateways.go
  • services/kafka/clusters.go
  • services/kafka/clusters_test.go
  • services/kafka/handler_clusters.go
  • services/kafka/handler_clusters_shapes_test.go
  • services/kinesis/PARITY.md
  • services/kinesis/README.md
  • services/kinesis/handler_monitoring.go
  • services/kinesis/janitor_test.go
  • services/kinesis/models.go
  • services/kinesis/monitoring.go
  • services/kinesis/monitoring_test.go
  • services/kinesis/records.go
  • services/kinesis/sdk_completeness_test.go
  • services/kinesis/shard_iterators_test.go
  • services/kinesis/store.go
  • services/kinesis/store_test.go
  • services/kinesis/streams.go
  • services/kinesis/subscribe_idle_close_test.go
  • services/kinesisanalytics/PARITY.md
  • services/kinesisanalytics/application_update.go
  • services/kinesisanalytics/application_update_test.go
  • services/kinesisanalyticsv2/PARITY.md
  • services/kinesisanalyticsv2/README.md
  • services/kinesisanalyticsv2/application_snapshots.go
  • services/kinesisanalyticsv2/whitebox_test.go
  • services/kms/PARITY.md
  • services/kms/README.md
  • services/kms/alias_arn_cache_test.go
  • services/kms/aliases.go
  • services/kms/aliases_test.go
  • services/kms/crypto.go
  • services/kms/custom_key_store_link_test.go
  • services/kms/custom_key_stores.go
  • services/kms/custom_key_stores_test.go
  • services/kms/data_keys.go
  • services/kms/data_keys_test.go
  • services/kms/describe_key_grant_tokens_test.go
  • services/kms/encryption.go
  • services/kms/errors.go
  • services/kms/errtarget_findings_test.go
  • services/kms/export_test.go
  • services/kms/get_key_last_usage_test.go
  • services/kms/grants.go
  • services/kms/grants_test.go
  • services/kms/handler.go
  • services/kms/handler_generate_and_mac_test.go
  • services/kms/handler_grants_policies.go
  • services/kms/handler_grants_policies_test.go
  • services/kms/handler_keys_test.go
  • services/kms/handler_replication_maintenance_test.go
  • services/kms/handler_tags.go
  • services/kms/hmac.go
  • services/kms/hmac_test.go
  • services/kms/import.go
  • services/kms/import_error_wiring_test.go
  • services/kms/import_test.go
  • services/kms/janitor.go
  • services/kms/key_agreement.go
  • services/kms/key_policies.go
  • services/kms/key_policies_test.go
  • services/kms/keys.go
  • services/kms/keys_test.go
  • services/kms/leak_test.go
  • services/kms/mac_algorithm_wiring_test.go
  • services/kms/models.go
  • services/kms/replication.go
  • services/kms/replication_test.go
  • services/kms/rotation.go
  • services/kms/signing.go
  • services/kms/signing_internal_test.go
  • services/kms/store.go
  • services/kms/wire_error_types_test.go
  • services/kms/wire_field_fixes_test.go
  • services/lakeformation/PARITY.md
  • services/lakeformation/README.md
  • services/lakeformation/lf_tags.go
  • services/lakeformation/lf_tags_test.go
  • services/lakeformation/store.go
  • services/lakeformation/store_test.go
  • services/lambda/PARITY.md
  • services/lambda/README.md
  • services/lambda/async_invoke_test.go
  • services/lambda/code_signing_test.go
  • services/lambda/container_cleanup_test.go
  • services/lambda/containers.go
  • services/lambda/crossservice.go
  • services/lambda/delete_function_cleanup_test.go
  • services/lambda/ecr_resolver_test.go
  • services/lambda/event_source_poller.go
  • services/lambda/export_test.go
  • services/lambda/functions.go
  • services/lambda/handler_capacity_providers.go
  • services/lambda/handler_functions.go
  • services/lambda/handler_invocation.go
  • services/lambda/handler_runtime_test.go
  • services/lambda/handler_test.go
  • services/lambda/iam_enforcement_test.go
  • services/lambda/invocation.go
  • services/lambda/lifecycle.go
  • services/lambda/runtime_api.go
  • services/lambda/sdk_completeness_test.go
  • services/lambda/store.go
  • services/lambda/store_test.go
  • services/lambda/test_helpers_test.go
  • services/lightsail/PARITY.md
  • services/lightsail/attach_delete_semantics_test.go
  • services/lightsail/bucket_delete_force_test.go
  • services/lightsail/buckets.go
  • services/lightsail/certificates_distributions.go
  • services/lightsail/disks.go
  • services/lightsail/export_test.go
  • services/lightsail/handler.go
  • services/lightsail/handler_instances.go
  • services/lightsail/instance_restart_ip_test.go
  • services/lightsail/instances.go
  • services/lightsail/keypairs_staticips.go
  • services/lightsail/loadbalancers.go
  • services/lightsail/models.go
  • services/lightsail/sdk_roundtrip_network_test.go
  • services/lightsail/shutdown_leak_test.go
  • services/macie2/PARITY.md
  • services/macie2/allow_lists.go
  • services/macie2/classification_jobs.go
  • services/macie2/custom_data_identifiers.go
  • services/macie2/enablement.go
  • services/macie2/errors.go
  • services/macie2/findings.go
  • services/macie2/findings_filters.go
  • services/macie2/handler_classification_jobs.go
  • services/macie2/handler_classification_jobs_test.go
  • services/macie2/handler_enablement_test.go
  • services/macie2/list_filter_params_test.go
  • services/macie2/store.go
  • services/macie2/tag_leak_test.go
  • services/managedblockchain/PARITY.md
  • services/managedblockchain/README.md
  • services/managedblockchain/accessors.go
  • services/managedblockchain/errors.go
  • services/managedblockchain/export_test.go
  • services/managedblockchain/handler.go
  • services/managedblockchain/members.go
  • services/managedblockchain/members_test.go
  • services/managedblockchain/networks.go
  • services/managedblockchain/nodes.go
  • services/managedblockchain/proposals.go
  • services/managedblockchain/proposals_voting_test.go
  • services/managedblockchain/tag_limit_test.go
  • services/managedblockchain/tags.go
  • services/mediaconvert/PARITY.md
  • services/mediaconvert/README.md
  • services/mediaconvert/handler_queues.go
  • services/mediaconvert/handler_resource_shares.go
  • services/mediaconvert/interfaces.go
  • services/mediaconvert/janitor.go
  • services/mediaconvert/janitor_test.go
  • services/mediaconvert/models.go
  • services/mediaconvert/persistence_test.go
  • services/mediaconvert/queues.go
  • services/mediaconvert/queues_test.go
  • services/mediaconvert/resource_shares.go
  • services/mediaconvert/resource_shares_test.go
  • services/mediaconvert/wire_last_share_details_test.go
  • services/medialive/PARITY.md
  • services/medialive/batch.go
  • services/medialive/channels.go
  • services/medialive/export_test.go
  • services/medialive/handler_batch_test.go
  • services/medialive/handler_channels_test.go
  • services/medialive/handler_inputs.go
  • services/medialive/handler_inputs_test.go
  • services/medialive/handler_networks_test.go
  • services/medialive/handler_reservations.go
  • services/medialive/handler_reservations_test.go
  • services/medialive/handler_sdi_sources_test.go
  • services/medialive/inputs.go
  • services/medialive/interfaces.go
  • services/medialive/models.go
  • services/medialive/networks.go
  • services/medialive/persistence_test.go
  • services/medialive/reservations.go
  • services/medialive/sdi_sources.go
  • services/medialive/store.go
  • services/mediapackage/PARITY.md
  • services/mediapackage/channels.go
  • services/mediapackage/channels_test.go
  • services/mediapackage/handler_tags_test.go
  • services/mediapackage/origin_endpoints.go
  • services/mediapackage/tags.go
  • services/mediastore/PARITY.md
  • services/mediastore/README.md
  • services/mediastore/containers.go
  • services/mediastore/containers_test.go
  • services/mediastoredata/PARITY.md
  • services/mediastoredata/README.md
  • services/mediastoredata/errors.go
  • services/mediastoredata/handler.go
  • services/mediastoredata/handler_test.go
  • services/mediastoredata/objects.go
  • services/mediastoredata/objects_test.go
  • services/mediatailor/channels.go
  • services/mediatailor/handler_logs_test.go
  • services/mediatailor/playback_configurations.go
  • services/mediatailor/store.go
  • services/memorydb/PARITY.md
  • services/memorydb/clusters.go
  • services/memorydb/errcode_test.go
  • services/memorydb/errors.go
  • services/memorydb/handler.go
  • services/memorydb/handler_users.go
  • services/memorydb/handler_users_test.go
  • services/memorydb/parameter_groups.go
  • services/memorydb/users.go
  • services/mgn/PARITY.md
  • services/mgn/export_test.go
  • services/mgn/handler.go
  • services/mgn/shutdown_leak_test.go
  • services/mgn/sourceserver_lifecycle_precondition_test.go
  • services/mgn/sourceservers.go
  • services/mq/broker_fields_test.go
  • services/mq/brokers.go
  • services/mwaa/PARITY.md
  • services/mwaa/README.md
  • services/mwaa/handler_metrics.go
  • services/mwaa/handler_metrics_test.go
  • services/neptune/PARITY.md
  • services/neptune/README.md
  • services/neptune/cluster_endpoints.go
  • services/neptune/cluster_parameter_groups.go
  • services/neptune/db_clusters.go
  • services/neptune/db_instances.go
  • services/neptune/deletion_protection_roundtrip_test.go
  • services/neptune/errors.go
  • services/neptune/event_subscriptions.go
  • services/neptune/ghost_tags_delete_test.go
  • services/neptune/global_clusters.go
  • services/neptune/handler.go
  • services/neptune/handler_cluster_parameter_groups_test.go
  • services/neptune/handler_db_instances.go
  • services/neptune/handler_db_instances_test.go
  • services/neptune/handler_parameter_groups_test.go
  • services/neptune/handler_subnet_groups_test.go
  • services/neptune/models.go
  • services/neptune/parameter_groups.go
  • services/neptune/subnet_groups.go
  • services/networkmanager/PARITY.md
  • services/networkmanager/README.md
  • services/networkmanager/associations.go
  • services/networkmanager/crossservice.go
  • services/networkmanager/deregister_transit_gateway_cascade_test.go
  • services/networkmanager/globalnetworks.go
  • services/networkmanager/handler.go
  • services/networkmanager/precondition_test.go
  • services/networkmonitor/PARITY.md
  • services/networkmonitor/handler_create_tags_test.go
  • services/networkmonitor/handler_probes_test.go
  • services/networkmonitor/monitors.go
  • services/networkmonitor/persistence.go
  • services/networkmonitor/persistence_test.go
  • services/networkmonitor/store.go
  • services/networkmonitor/store_setup.go
  • services/omics/PARITY.md
  • services/omics/README.md
  • services/omics/delete_precondition_test.go
  • services/omics/reference_stores.go
  • services/omics/runs.go
  • services/omics/sequence_stores.go
  • services/opensearch/access_policy.go
  • services/opensearch/access_policy_test.go
  • services/opensearch/documents.go
  • services/opensearch/domains_test.go
  • services/opensearch/errors.go
  • services/opensearch/handler_indices.go
  • services/opensearch/handler_packages.go
  • services/opensearch/handler_packages_test.go
  • services/opensearch/lifecycle.go
  • services/opensearch/packages.go
  • services/opsworks/PARITY.md
  • services/opsworks/instances.go
  • services/opsworks/instances_test.go
  • services/opsworks/layers.go
  • services/opsworks/layers_test.go
  • services/opsworks/stacks.go
  • services/opsworks/stacks_test.go
  • services/organizations/PARITY.md
  • services/organizations/accounts.go
  • services/organizations/accounts_test.go
  • services/organizations/arn.go
  • services/organizations/default_policy_test.go
  • services/organizations/effective_policy_test.go
  • services/organizations/errors.go
  • services/organizations/handler.go
  • services/organizations/handler_accounts.go
  • services/organizations/handler_accounts_test.go
  • services/organizations/handshakes.go
  • services/organizations/handshakes_test.go
  • services/organizations/organization.go
  • services/organizations/organization_test.go
  • services/organizations/organizational_units.go
  • services/organizations/organizational_units_test.go
  • services/organizations/pagination_sort_totality_test.go
  • services/organizations/policies.go
  • services/organizations/policies_test.go
  • services/organizations/policy_attachments_test.go
  • services/organizations/store_test.go
  • services/organizations/tags_test.go
  • services/outposts/PARITY.md
  • services/outposts/README.md
  • services/outposts/capacity_ledger_delete_cleanup_test.go
  • services/outposts/export_test.go
  • services/outposts/handler.go
  • services/outposts/list_snapshot_race_test.go
  • services/outposts/outposts.go
  • services/outposts/renewal_idempotency_delete_cleanup_test.go
  • services/outposts/shutdown_leak_test.go
  • services/outposts/sites.go
  • services/outposts/wire_convert.go
  • services/personalize/PARITY.md
  • services/personalize/campaigns.go
  • services/personalize/dataset_groups.go
  • services/personalize/handler_campaigns_test.go
  • services/personalize/handler_dataset_groups.go
  • services/personalize/handler_dataset_groups_test.go
  • services/personalize/handler_schemas_test.go
  • services/personalize/handler_solutions_test.go
  • services/personalize/schemas.go
  • services/personalize/solutions.go
  • services/personalize/store.go
  • services/personalize/whitebox_test.go
  • services/pinpoint/PARITY.md
  • services/pinpoint/README.md
  • services/pinpoint/campaigns.go
  • services/pinpoint/errors.go
  • services/pinpoint/export_test.go
  • services/pinpoint/handler.go
  • services/pinpoint/handler_applications_settings.go
  • services/pinpoint/handler_apps.go
  • services/pinpoint/handler_attributes.go
  • services/pinpoint/handler_campaigns.go
  • services/pinpoint/handler_channels.go
  • services/pinpoint/handler_endpoints.go
  • services/pinpoint/handler_event_streams.go
  • services/pinpoint/handler_events.go
  • services/pinpoint/handler_export_import_jobs.go
  • services/pinpoint/handler_journeys.go
  • services/pinpoint/handler_messages.go
  • services/pinpoint/handler_recommender_configurations.go
  • services/pinpoint/handler_templates.go
  • services/pinpoint/handler_templates_rejection_test.go
  • services/pinpoint/journeys.go
  • services/pinpoint/journeys_test.go
  • services/pinpoint/leak_test.go
  • services/pinpoint/payload_size.go
  • services/pinpoint/payload_size_test.go
  • services/pipes/PARITY.md
  • services/pipes/export_test.go
  • services/pipes/filter.go
  • services/pipes/filter_test.go
  • services/pipes/filter_validation.go
  • services/pipes/filter_validation_test.go
  • services/pipes/pipe_lifecycle.go
  • services/pipes/pipe_lifecycle_test.go
  • services/pipes/pipes.go
  • services/pipes/sorted_pipe_names_whitebox_test.go
  • services/pipes/sources.go
  • services/pipes/sources_brokers_test.go
  • services/pipes/sources_required_fields_test.go
  • services/pipes/sources_test.go
  • services/pipes/targets.go
  • services/pipes/targets_ecs_batch_test.go
  • services/pipes/targets_required_fields_test.go
  • services/pipes/targets_test.go
  • services/polly/PARITY.md
  • services/polly/README.md
  • services/polly/handler.go
  • services/polly/speech.go
  • services/polly/speech_synthesis_tasks.go
  • services/polly/speech_synthesis_tasks_test.go
  • services/polly/speech_test.go
  • services/quicksight/PARITY.md
  • services/quicksight/README.md
  • services/quicksight/dashboard.go
  • services/quicksight/dataset.go
  • services/quicksight/handler_custompermissions_test.go
  • services/quicksight/handler_dashboard.go
  • services/quicksight/handler_dashboard_test.go
  • services/quicksight/handler_sdk_roundtrip_test.go
  • services/quicksight/handler_user.go
  • services/quicksight/interfaces.go
  • services/quicksight/models.go
  • services/quicksight/sdk_completeness_test.go
  • services/quicksight/store_roundtrip_test.go
  • services/quicksight/types.go
  • services/quicksight/user.go
  • services/ram/PARITY.md
  • services/ram/README.md
  • services/ram/error_codes_test.go
  • services/ram/errors.go
  • services/ram/handler.go
  • services/ram/resource_shares.go
  • services/ram/resource_shares_test.go
  • services/ram/resources.go
  • services/ram/share_associations.go
  • services/ram/share_associations_test.go
  • services/ram/share_invitations.go
  • services/ram/share_invitations_lifecycle_test.go
  • services/ram/store.go
  • services/rds/PARITY.md
  • services/rds/README.md
  • services/rds/activity_stream.go
  • services/rds/activity_stream_test.go
  • services/rds/automated_backups.go
  • services/rds/automated_backups_test.go
  • services/rds/cluster_endpoints.go
  • services/rds/cluster_endpoints_test.go
  • services/rds/cluster_snapshots.go
  • services/rds/cluster_snapshots_test.go
  • services/rds/data_api.go
  • services/rds/data_api_test.go
  • services/rds/db_clusters.go
  • services/rds/db_clusters_failover_overlay_test.go
  • services/rds/db_clusters_operations_test.go
  • services/rds/db_clusters_test.go
  • services/rds/db_instances.go
  • services/rds/db_instances_operations_test.go
  • services/rds/dispatch_test.go
  • services/rds/engine_versions.go
  • services/rds/engine_versions_test.go
  • services/rds/error_codes_test.go
  • services/rds/errors.go
  • services/rds/export_test.go
  • services/rds/form_actions_cluster_test.go
  • services/rds/handler_activity_stream.go
  • services/rds/handler_db_clusters.go
  • services/rds/handler_db_instances.go
  • services/rds/handler_dispatch.go
  • services/rds/lifecycle.go
  • services/rds/maintenance.go
  • services/rds/maintenance_test.go
  • services/rds/models.go
  • services/rds/persistence.go
  • services/rds/persistence_test.go
  • services/rds/reset_test.go
  • services/rds/security_groups.go
  • services/rds/security_groups_test.go
  • services/rds/subnet_groups.go
  • services/rds/subnet_groups_test.go
  • services/rdsdata/PARITY.md
  • services/rdsdata/README.md
  • services/rdsdata/export_test.go
  • services/rdsdata/handler.go
  • services/rdsdata/janitor.go
  • services/rdsdata/janitor_test.go
  • services/rdsdata/models.go
  • services/rdsdata/persistence.go
  • services/rdsdata/persistence_test.go
  • services/rdsdata/provider.go
  • services/rdsdata/statements.go
  • services/rdsdata/transactions.go
  • services/redshift/PARITY.md
  • services/redshift/cluster_mgmt.go
  • services/redshift/errors.go
  • services/redshift/events.go
  • services/redshift/handler.go
  • services/redshift/handler_cluster_mgmt.go
  • services/redshift/handler_cluster_mgmt_test.go
  • services/redshift/handler_cluster_tagkeys_test.go
  • services/redshift/handler_cluster_test.go
  • services/redshift/handler_credentials_test.go
  • services/redshift/handler_endpoint_authorization_test.go
  • services/redshift/handler_events_test.go
  • services/redshift/handler_lakehouse_test.go
  • services/redshift/handler_modify_cluster_gaps_test.go
  • services/redshift/handler_namespace_registration_sdk_test.go
  • services/redshift/handler_param_groups_test.go
  • services/redshift/handler_partners_test.go
  • services/redshift/handler_resize_test.go
  • services/redshift/handler_scheduled_actions.go
  • services/redshift/handler_scheduled_actions_test.go
  • services/redshift/handler_sdk_roundtrip_test.go
  • services/redshift/handler_security_groups.go
  • services/redshift/handler_security_groups_test.go
  • services/redshift/handler_snapshots.go
  • services/redshift/handler_snapshots_sorting_test.go
  • services/redshift/handler_snapshots_test.go
  • services/redshift/handler_subnet_groups.go
  • services/redshift/handler_subnet_security_groups_gaps_test.go
  • services/redshift/handler_tags.go
  • services/redshift/interfaces.go
  • services/redshift/models.go
  • services/redshift/param_groups.go
  • services/redshift/persistence_test.go
  • services/redshift/reconciler.go
  • services/redshift/reconciler_test.go
  • services/redshift/security_groups.go
  • services/redshift/snapshot_access_test.go
  • services/redshift/snapshots.go
  • services/redshift/store.go
  • services/redshift/store_test.go
  • services/redshift/subnet_groups.go
  • services/redshift/wire_field_fixes_test.go
  • services/redshiftdata/PARITY.md
  • services/redshiftdata/README.md
  • services/redshiftdata/handler_statements.go
  • services/redshiftdata/handler_statements_lifecycle_test.go
  • services/redshiftdata/handler_statements_semantics_test.go
  • services/redshiftdata/handler_statements_test.go
  • services/redshiftdata/handler_statements_validation_test.go
  • services/redshiftdata/idempotency_test.go
  • services/redshiftdata/isolation_test.go
  • services/redshiftdata/models.go
  • services/redshiftdata/statements.go
  • services/rekognition/PARITY.md
  • services/rekognition/README.md
  • services/rekognition/datasets.go
  • services/rekognition/errors.go
  • services/rekognition/handler.go
  • services/rekognition/handler_celebrities.go
  • services/rekognition/handler_custom_labels.go
  • services/rekognition/handler_datasets_test.go
  • services/rekognition/handler_faces.go
  • services/rekognition/handler_faces_test.go
  • services/rekognition/handler_labels.go
  • services/rekognition/handler_media_analysis.go
  • services/rekognition/handler_moderation.go
  • services/rekognition/handler_moderation_test.go
  • services/rekognition/handler_project_versions_test.go
  • services/rekognition/handler_projects_test.go
  • services/rekognition/handler_text_detection.go
  • services/rekognition/handler_users.go
  • services/rekognition/interfaces.go
  • services/rekognition/project_versions.go
  • services/rekognition/projects.go
  • services/rekognition/s3_object_test.go
  • services/rekognition/store.go
  • services/resiliencehub/PARITY.md
  • services/resiliencehub/appversions.go
  • services/resiliencehub/appversions_test.go
  • services/resiliencehub/assessments.go
  • services/resiliencehub/assessments_test.go
  • services/resiliencehub/export_test.go
  • services/resiliencehub/handler.go
  • services/resiliencehub/shutdown_leak_test.go
  • services/resourcegroups/PARITY.md
  • services/resourcegroups/README.md
  • services/resourcegroups/groups.go
  • services/resourcegroups/groups_test.go
  • services/resourcegroups/handler_error_type_test.go
  • services/resourcegroups/handler_resources_test.go
  • services/resourcegroups/handler_tags.go
  • services/resourcegroups/handler_test.go
  • services/resourcegroups/handler_untag_rejection_test.go
  • services/resourcegroups/resources.go
  • services/resourcegroups/store.go
  • services/resourcegroups/tagsync.go
  • services/resourcegroups/tagsync_test.go
  • services/resourcegroupstaggingapi/persistence.go
  • services/resourcegroupstaggingapi/persistence_test.go
  • services/rolesanywhere/PARITY.md
  • services/rolesanywhere/README.md
  • services/rolesanywhere/handler.go
  • services/rolesanywhere/handler_pagination_restart_test.go
  • services/rolesanywhere/handler_profiles_test.go
  • services/rolesanywhere/handler_test.go
  • services/rolesanywhere/handler_trust_anchors_test.go
  • services/rolesanywhere/tags.go
  • services/rolesanywhere/tags_test.go
  • services/route53/PARITY.md
  • services/route53/dns_registrar_resync_test.go
  • services/route53/error_path_sweep_test.go
  • services/route53/hosted_zones.go
  • services/route53/hosted_zones_test.go
  • services/route53/record_sets.go
  • services/route53/record_sets_routing_test.go
  • services/route53resolver/PARITY.md
  • services/route53resolver/README.md
  • services/route53resolver/creator_request_id_idempotency_test.go
  • services/route53resolver/error_target_fixes_test.go
  • services/route53resolver/firewall_rule_groups.go
  • services/route53resolver/handler.go
  • services/route53resolver/policy_leak_test.go
  • services/route53resolver/query_log_associations.go
  • services/route53resolver/query_log_configs.go
  • services/route53resolver/resolver_endpoints.go
  • services/route53resolver/resolver_rules.go
  • services/route53resolver/rule_associations.go
  • services/s3/PARITY.md
  • services/s3/README.md
  • services/s3/bucket_notification_test.go
  • services/s3/notification.go
  • services/s3/notification_dispatch_test.go
  • services/s3/object_ops_put_test.go
  • services/s3/persistence.go
  • services/s3/persistence_lockname_test.go
  • services/s3/post_object.go
  • services/s3control/PARITY.md
  • services/s3control/README.md
  • services/s3control/access_grants.go
  • services/s3control/bucket.go
  • services/s3control/export_test.go
  • services/s3control/handler_access_grants_test.go
  • services/s3control/handler_bucket_test.go
  • services/s3control/handler_dispatch_test.go
  • services/s3control/handler_jobs_test.go
  • services/s3control/handler_multi_region_access_points_test.go
  • services/s3control/jobs.go
  • services/s3control/multi_region_access_points.go
  • services/s3control/object_lambda.go
  • services/s3control/store.go
  • services/s3tables/PARITY.md
  • services/s3tables/README.md
  • services/s3tables/errors.go
  • services/s3tables/handler_tables.go
  • services/s3tables/interfaces.go
  • services/s3tables/namespaces.go
  • services/s3tables/namespaces_test.go
  • services/s3tables/persistence_test.go
  • services/s3tables/store_setup.go
  • services/s3tables/table_buckets.go
  • services/s3tables/table_buckets_test.go
  • services/s3tables/tables.go
  • services/s3tables/tables_test.go
  • services/sagemaker/PARITY.md
  • services/sagemaker/README.md
  • services/sagemaker/endpoint_configs.go
  • services/sagemaker/endpoint_inference_component_transition_test.go
  • services/sagemaker/endpoints.go
  • services/sagemaker/experiments.go
  • services/sagemaker/handler_compilation_jobs_test.go
  • services/sagemaker/handler_edge_packaging_jobs_test.go
  • services/sagemaker/handler_endpoint_configs_test.go
  • services/sagemaker/handler_endpoints_test.go
  • services/sagemaker/handler_experiments_test.go
  • services/sagemaker/handler_hp_tuning_jobs_test.go
  • services/sagemaker/handler_inference_components_test.go
  • services/sagemaker/handler_inference_recommendations_jobs_test.go
  • services/sagemaker/handler_labeling_test.go
  • services/sagemaker/handler_lineage.go
  • services/sagemaker/handler_notebook_instances_test.go
  • services/sagemaker/handler_pipelines_test.go
  • services/sagemaker/handler_training_jobs_test.go
  • services/sagemaker/handler_transform_jobs_test.go
  • services/sagemaker/handler_trial_components_test.go
  • services/sagemaker/hp_tuning_jobs.go
  • services/sagemaker/inference_components.go
  • services/sagemaker/lifecycle.go
  • services/sagemaker/lifecycle_test.go
  • services/sagemaker/notebook_instances.go
  • services/sagemaker/pipeline_execution_start_test.go
  • services/sagemaker/pipeline_executions.go
  • services/sagemaker/pipelines.go
  • services/sagemaker/training_jobs.go
  • services/sagemaker/transform_jobs.go
  • services/sagemaker/trial_components.go
  • services/sagemakerruntime/PARITY.md
  • services/sagemakerruntime/README.md
  • services/sagemakerruntime/endpoint_validation_test.go
  • services/sagemakerruntime/handler.go
  • services/sagemakerruntime/invoke_endpoint_async_test.go
  • services/scheduler/PARITY.md
  • services/scheduler/handler_schedule_groups.go
  • services/scheduler/interfaces.go
  • services/scheduler/isolation_test.go
  • services/scheduler/models.go
  • services/scheduler/persistence.go
  • services/scheduler/persistence_roundtrip_test.go
  • services/scheduler/persistence_test.go
  • services/scheduler/runner_test.go
  • services/scheduler/schedule_groups.go
  • services/scheduler/schedule_groups_test.go
  • services/scheduler/schedules.go
  • services/scheduler/schedules_list_test.go
  • services/scheduler/schedules_test.go
  • services/scheduler/store_test.go
  • services/scheduler/tags_test.go
  • services/secretsmanager/PARITY.md
  • services/secretsmanager/README.md
  • services/secretsmanager/createsecret_test.go
  • services/secretsmanager/deletesecret_test.go
  • services/secretsmanager/errors.go
  • services/secretsmanager/export_test.go
  • services/secretsmanager/handler.go
  • services/secretsmanager/helpers_test.go
  • services/secretsmanager/models.go
  • services/secretsmanager/persistence.go
  • services/secretsmanager/replica_write_guard_test.go
  • services/secretsmanager/replication.go
  • services/secretsmanager/replication_test.go
  • services/secretsmanager/rotation.go
  • services/secretsmanager/secret_versions.go
  • services/secretsmanager/secrets.go
  • services/secretsmanager/store_conversion_test.go
  • services/securityhub/PARITY.md
  • services/securityhub/automation_rules.go
  • services/securityhub/automation_rules_test.go
  • services/securityhub/errors.go
  • services/securityhub/findings.go
  • services/securityhub/handler.go
  • services/securityhub/handler_configuration_policies.go
  • services/securityhub/handler_hub.go
  • services/securityhub/handler_malformed_body_test.go
  • services/securityhub/hub.go
  • services/securityhub/hub_test.go
  • services/securityhub/insights.go
  • services/securityhub/insights_test.go
  • services/serverlessrepo/PARITY.md
  • services/serverlessrepo/application_versions.go
  • services/serverlessrepo/cloud_formation.go
  • services/serverlessrepo/handler_application_versions_test.go
  • services/serverlessrepo/handler_cloud_formation_test.go
  • services/servicediscovery/PARITY.md
  • services/servicediscovery/README.md
  • services/servicediscovery/dns_registrar_test.go
  • services/servicediscovery/handler_services.go
  • services/servicediscovery/instances.go
  • services/servicediscovery/interfaces.go
  • services/servicediscovery/models.go
  • services/servicediscovery/namespaces.go
  • services/servicediscovery/services.go
  • services/servicediscovery/services_test.go
  • services/servicediscovery/store.go
  • services/servicediscovery/store_test.go
  • services/servicediscovery/tags.go
  • services/servicediscovery/tags_test.go
  • services/ses/PARITY.md
  • services/ses/README.md
  • services/ses/email_sending.go
  • services/ses/errors.go
  • services/ses/handler.go
  • services/ses/handler_receipt_rules.go
  • services/ses/identities.go
  • services/ses/identities_test.go
  • services/ses/interfaces.go
  • services/ses/models.go
  • services/ses/notifications.go
  • services/ses/notifications_test.go
  • services/ses/persistence_test.go
  • services/ses/receipt_rules.go
  • services/ses/receipt_rules_test.go
  • services/ses/store.go
  • services/ses/undeclared_delete_errors_test.go
  • services/sesv2/PARITY.md
  • services/sesv2/configuration_sets.go
  • services/sesv2/configuration_sets_test.go
  • services/sesv2/contact_lists.go
  • services/sesv2/dedicated_ip_pools.go
  • services/sesv2/email_identities.go
  • services/sesv2/email_identities_test.go
  • services/sesv2/email_templates.go
  • services/sesv2/handler_send_email.go
  • services/sesv2/interfaces.go
  • services/sesv2/persistence_test.go
  • services/sesv2/send_email.go
  • services/sesv2/send_email_test.go
  • services/sesv2/tenants.go
  • services/sesv2/whitebox_test.go
  • services/sesv2/wire_field_fixes_test.go
  • services/shield/PARITY.md
  • services/shield/README.md
  • services/shield/errors_test.go
  • services/shield/handler_attacks.go
  • services/shield/handler_subscription.go
  • services/shield/handler_subscription_test.go
  • services/shield/protection_groups.go
  • services/shield/quotas_test.go
  • services/shield/subscription.go
  • services/shield/subscription_test.go
  • services/shield/tags.go
  • services/sns/PARITY.md
  • services/sns/README.md
  • services/sns/concurrent_wiring_test.go
  • services/sns/handler_errors.go
  • services/sns/lambda_firehose_delivery.go
  • services/sns/publish.go
  • services/sns/sms_test.go
  • services/sqs/PARITY.md
  • services/sqs/README.md
  • services/sqs/dead_letter.go
  • services/sqs/dead_letter_test.go
  • services/sqs/errors.go
  • services/sqs/handler.go
  • services/sqs/handler_message_visibility_test.go
  • services/sqs/handler_test.go
  • services/sqs/message_move_tasks_test.go
  • services/sqs/store.go
  • services/ssm/PARITY.md
  • services/ssm/README.md
  • services/ssm/associations.go
  • services/ssm/associations_test.go
  • services/ssm/commands.go
  • services/ssm/commands_test.go
  • services/ssm/documents.go
  • services/ssm/errors.go
  • services/ssm/export_test.go
  • services/ssm/handler.go
  • services/ssm/handler_create_tags_test.go
  • services/ssm/handler_test.go
  • services/ssm/maintenance_window.go
  • services/ssm/maintenance_window_test.go
  • services/ssm/misc_resource_tags_leak_test.go
  • services/ssm/models_patch_baselines.go
  • services/ssm/ops_items.go
  • services/ssm/parameter_labels_test.go
  • services/ssm/parameters.go
  • services/ssm/parameters_handler_test.go
  • services/ssm/parameters_test.go
  • services/ssm/patch_baseline_approval_rules_test.go
  • services/ssm/patch_baselines.go
  • services/ssm/patch_baselines_test.go
  • services/ssm/patch_inventory.go
  • services/ssm/reset_test.go
  • services/ssm/store.go
  • services/ssoadmin/PARITY.md
  • services/ssoadmin/README.md
  • services/ssoadmin/instances.go
  • services/ssoadmin/instances_cascade_delete_internal_test.go
  • services/stepfunctions/PARITY.md
  • services/stepfunctions/README.md
  • services/stepfunctions/activities.go
  • services/stepfunctions/aliases.go
  • services/stepfunctions/aliases_test.go
  • services/stepfunctions/asl/executor.go
  • services/stepfunctions/asl/result_writer.go
  • services/stepfunctions/asl/service_integration_ecs_glue_eb_test.go
  • services/stepfunctions/asl/service_integration_test.go
  • services/stepfunctions/asl/sync_pattern_wait_test.go
  • services/stepfunctions/errors.go
  • services/stepfunctions/errtargetaudit_invalid_routing_config_test.go
  • services/stepfunctions/execution_history.go
  • services/stepfunctions/execution_history_test.go
  • services/stepfunctions/executions.go
  • services/stepfunctions/export_test.go
  • services/stepfunctions/handler.go
  • services/stepfunctions/handler_state_machines_test.go
  • services/stepfunctions/integrations.go
  • services/stepfunctions/janitor.go
  • services/stepfunctions/leak_test.go
  • services/stepfunctions/qualified_arn.go
  • services/stepfunctions/qualified_arn_test.go
  • services/stepfunctions/state_machine_versions.go
  • services/stepfunctions/state_machine_versions_test.go
  • services/stepfunctions/state_machines.go
  • services/stepfunctions/state_machines_test.go
  • services/stepfunctions/store.go
  • services/sts/PARITY.md
  • services/sts/README.md
  • services/sts/assume_role.go
  • services/sts/assume_role_test.go
  • services/sts/assume_root.go
  • services/sts/assume_root_test.go
  • services/sts/authorization_message_test.go
  • services/sts/caller_identity.go
  • services/sts/caller_identity_test.go
  • services/sts/delegated_access_test.go
  • services/sts/federation_test.go
  • services/sts/handler.go
  • services/sts/janitor_test.go
  • services/sts/models.go
  • services/sts/persistence_test.go
  • services/sts/saml.go
  • services/sts/saml_test.go
  • services/sts/session_tokens_test.go
  • services/sts/store.go
  • services/sts/store_test.go
  • services/sts/web_identity.go
  • services/sts/web_identity_test.go
  • services/support/PARITY.md
  • services/support/README.md
  • services/support/attachments.go
  • services/support/cases.go
  • services/support/cases_test.go
  • services/support/handler_cases.go
  • services/support/whitebox_test.go
  • services/swf/activity_types.go
  • services/swf/activity_types_test.go
  • services/swf/domains.go
  • services/swf/domains_test.go
  • services/swf/errors.go
  • services/swf/handler_activity_types_test.go
  • services/swf/handler_test.go
  • services/swf/handler_workflow_types_test.go
  • services/swf/workflow_executions.go
  • services/swf/workflow_executions_test.go
  • services/swf/workflow_types.go
  • services/swf/workflow_types_test.go
  • services/textract/PARITY.md
  • services/textract/adapters.go
  • services/textract/errors.go
  • services/textract/handler.go
  • services/textract/handler_adapter_versions.go
  • services/textract/handler_adapter_versions_test.go
  • services/textract/handler_adapters.go
  • services/textract/handler_adapters_test.go
  • services/textract/handler_analyze_document_config_test.go
  • services/textract/handler_document_analysis.go
  • services/textract/handler_document_detection.go
  • services/textract/handler_expense_analysis.go
  • services/textract/handler_id_analysis.go
  • services/textract/handler_lending_analysis.go
  • services/textract/handler_tags_test.go
  • services/textract/interfaces.go
  • services/textract/s3_object_test.go
  • services/textract/store.go
  • services/timestreamquery/handler_create_tags_test.go
  • services/timestreamquery/handler_scheduled_queries.go
  • services/timestreamquery/scheduled_queries.go
  • services/timestreamquery/scheduled_queries_test.go
  • services/timestreamquery/store.go
  • services/timestreamwrite/PARITY.md
  • services/timestreamwrite/batch_load_tasks.go
  • services/timestreamwrite/errors.go
  • services/timestreamwrite/handler_records.go
  • services/timestreamwrite/handler_records_test.go
  • services/timestreamwrite/handler_test.go
  • services/timestreamwrite/persistence_test.go
  • services/timestreamwrite/records.go
  • services/timestreamwrite/records_test.go
  • services/timestreamwrite/wire_sdk_roundtrip_test.go
  • services/transcribe/PARITY.md
  • services/transcribe/README.md
  • services/transcribe/call_analytics.go
  • services/transcribe/call_analytics_test.go
  • services/transcribe/handler_test.go
  • services/transcribe/language_models.go
  • services/transcribe/language_models_test.go
  • services/transcribe/medical_scribe.go
  • services/transcribe/medical_scribe_test.go
  • services/transcribe/medical_transcription_jobs.go
  • services/transcribe/medical_transcription_jobs_test.go
  • services/transcribe/persistence_test.go
  • services/transcribe/tags_test.go
  • services/transcribe/transcription_jobs.go
  • services/transcribe/transcription_jobs_test.go
  • services/transcribe/wire_field_fixes_g8k9_test.go
  • services/transcribe/wire_field_fixes_test.go
  • services/transfer/PARITY.md
  • services/transfer/agreements.go
  • services/transfer/certificates.go
  • services/transfer/connectors.go
  • services/transfer/delete_tags_test.go
  • services/transfer/host_keys.go
  • services/transfer/profiles.go
  • services/transfer/servers.go
  • services/transfer/users.go
  • services/transfer/users_test.go
  • services/transfer/web_apps.go
  • services/transfer/workflows.go
  • services/translate/PARITY.md
  • services/translate/README.md
  • services/translate/errors.go
  • services/translate/handler.go
  • services/translate/handler_parallel_data_test.go
  • services/translate/handler_text_translation_jobs_test.go
  • services/translate/parallel_data.go
  • services/translate/text_translation_jobs.go
  • services/verifiedpermissions/errors.go
  • services/verifiedpermissions/handler.go
  • services/verifiedpermissions/handler_policies.go
  • services/verifiedpermissions/handler_policies_test.go
  • services/verifiedpermissions/handler_policy_stores.go
  • services/verifiedpermissions/handler_policy_stores_test.go
  • services/verifiedpermissions/models.go
  • services/verifiedpermissions/policies.go
  • services/verifiedpermissions/policies_test.go
  • services/verifiedpermissions/policy_stores.go
  • services/verifiedpermissions/policy_stores_test.go
  • services/vpclattice/handler_rules_test.go
  • services/vpclattice/handler_target_groups.go
  • services/vpclattice/handler_target_groups_test.go
  • services/vpclattice/interfaces.go
  • services/vpclattice/rules.go
  • services/vpclattice/target_groups.go
  • services/waf/PARITY.md
  • services/waf/README.md
  • services/waf/byte_match_sets_test.go
  • services/waf/change_token_test.go
  • services/waf/change_tokens.go
  • services/waf/errors.go
  • services/waf/geo_match_sets_test.go
  • services/waf/handler.go
  • services/waf/ip_sets.go
  • services/waf/ip_sets_test.go
  • services/waf/match_sets.go
  • services/waf/persistence.go
  • services/waf/persistence_test.go
  • services/waf/rate_based_rules.go
  • services/waf/rate_based_rules_test.go
  • services/waf/regex_match_sets_test.go
  • services/waf/regex_pattern_sets_test.go
  • services/waf/rule_groups.go
  • services/waf/rule_groups_test.go
  • services/waf/rules.go
  • services/waf/rules_test.go
  • services/waf/set_updates.go
  • services/waf/size_constraint_sets_test.go
  • services/waf/sql_injection_match_sets_test.go
  • services/waf/store.go
  • services/waf/tag_leak_test.go
  • services/waf/web_acls.go
  • services/waf/web_acls_test.go
  • services/waf/xss_match_sets_test.go
  • services/wafv2/handler.go
  • services/wafv2/handler_ip_sets.go
  • services/wafv2/handler_ip_sets_test.go
  • services/wafv2/handler_regex_pattern_sets.go
  • services/wafv2/handler_regex_pattern_sets_test.go
  • services/wafv2/handler_rule_groups.go
  • services/wafv2/handler_rule_groups_test.go
  • services/wafv2/handler_test.go
  • services/wafv2/handler_web_acls.go
  • services/wafv2/handler_web_acls_test.go
  • services/workmail/PARITY.md
  • services/workmail/README.md
  • services/workmail/access_control.go
  • services/workmail/aliases.go
  • services/workmail/error_codes_test.go
  • services/workmail/handler_access_control_test.go
  • services/workmail/handler_aliases_test.go
  • services/workmail/handler_mail_domains_test.go
  • services/workmail/handler_mobile_device_access_test.go
  • services/workmail/mail_domains.go
  • services/workmail/mobile_device_access.go
  • services/workmail/persistence_test.go
  • services/workmail/users.go
  • services/workspaces/PARITY.md
  • services/workspaces/README.md
  • services/workspaces/application_associations_test.go
  • services/workspaces/bundles.go
  • services/workspaces/bundles_test.go
  • services/workspaces/connection_aliases.go
  • services/workspaces/connection_aliases_test.go
  • services/workspaces/directories_test.go
  • services/workspaces/errors.go
  • services/workspaces/export_test.go
  • services/workspaces/handler_test.go
  • services/workspaces/images.go
  • services/workspaces/images_test.go
  • services/workspaces/ip_groups.go
  • services/workspaces/ip_groups_test.go
  • services/workspaces/workspaces.go
  • services/workspaces/workspaces_lifecycle_test.go
  • services/workspaces/workspaces_test.go
  • services/workspaces/workspaces_validation_test.go
  • services/xray/PARITY.md
  • services/xray/groups.go
  • services/xray/groups_test.go
  • services/xray/handler_sampling_rules.go
  • services/xray/handler_sampling_rules_test.go
  • services/xray/handler_trace_segment_destination.go
  • services/xray/handler_trace_segment_destination_test.go
  • services/xray/sampling_rules.go
  • services/xray/sampling_rules_test.go
  • test/e2e/redshift_test.go
  • test/integration/account_test.go
  • test/integration/apigateway_test.go
  • test/integration/appsync_test.go
  • test/integration/autopurge_test.go
  • test/integration/azuretable_test.go
  • test/integration/batch_test.go
  • test/integration/chaos_test.go
  • test/integration/cloudformation_ext_test.go
  • test/integration/cloudfront_test.go
  • test/integration/cloudtrail_test.go
  • test/integration/cosmosdb_tableapi_test.go
  • test/integration/directconnect_test.go
  • test/integration/ecs_test.go
  • test/integration/efs_test.go
  • test/integration/eks_test.go
  • test/integration/elb_test.go
  • test/integration/elbv2_audit_test.go
  • test/integration/elbv2_test.go
  • test/integration/fsx_test.go
  • test/integration/grafana_test.go
  • test/integration/iotanalytics_test.go
  • test/integration/latency_test.go
  • test/integration/main_test.go
  • test/integration/mgn_test.go
  • test/integration/mwaa_test.go
  • test/integration/networkmanager_test.go
  • test/integration/outposts_test.go
  • test/integration/persistence_e2e_test.go
  • test/integration/resiliencehub_test.go
  • test/integration/servicediscovery_test.go
  • test/integration/sqs_refinement3_test.go
  • test/integration/sts_test.go
  • test/integration/textract_test.go
  • test/integration/timestreamwrite_test.go
  • test/terraform/azure/main_test.go
  • test/terraform/fixtures/apigatewayv2/success.tf
  • test/terraform/fixtures/elbv2/success.tf
  • test/terraform/fixtures/textract/success.tf
  • test/terraform/main_test.go
  • test/terraform/terraform_test.go

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

@codecov

codecov Bot commented Sep 6, 2026

Copy link
Copy Markdown

Witness Patrol and others added 28 commits September 7, 2026 08:40
The tool already modelled handlers that override a sentinel's mapping, but
only when the override helper contains the wire code as a literal in its own
body. iot's respondAsConflictCode takes the code as a parameter, so
firstCodeLiteral found nothing and the helper was silently dropped from the
override set. The tool then fell through to the general
ErrAlreadyExists -> ResourceAlreadyExistsException mapping at the backend
sentinel and reported six findings for ops that already emit their declared
code.

The fix reads the code from the argument at each call site rather than from
the helper body, which is necessary because the six sites pass different
literals -- ConflictException and TaskAlreadyExistsException.

maxEmitHop is untouched. Raising it was the obvious move and the wrong one:
the same one-hop limit is what produces several other false-positive classes,
and widening it risks over-attributing sentinels to ops that cannot reach
them. Recognising the shape is narrower and does not trade one noise class
for another.

The measurement matters more than the fix. A repo-wide scan for this shape
found exactly one function: iot's respondAsConflictCode. So this is 60% of one
service's findings but roughly 4% of the corpus, not the dominant source of
noise it looked like from iot alone. That is worth knowing before deciding how
much more of the corpus is worth triaging.

iot drops from 10 findings to 4, exactly the six override sites, and no
finding appeared anywhere else -- the diff is identical outside the iot
section. A codedeploy shift was traced to that package's concurrent edits by
controlled A/B revert, not to this change.

Three tests guard the result: the override is suppressed, a sibling op without
the override is still flagged, and an override whose own code is undeclared is
still reported. The last is the one that matters -- an override is not
automatically correct.

Closes gopherstack-il42

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
All six class A findings are one root cause at three sites: CreatePermission,
DeleteCertificateAuthority and ListCertificateAuthorities emit
InvalidArgsException, which none of them declares. ListCertificateAuthorities
declares exactly one error, InvalidNextTokenException, so there is not even a
plausible near-miss.

ErrInvalidArgs is correct for other acmpca ops, so this is not a wrong
sentinel to swap -- it is the third real-bug shape: a code with no home in
these ops' models, and no declared code that fits a validation failure.

PARITY.md already recorded this twice, under the 2026-08-31 error-envelope
sweep and its post-reachability re-run, both concluding the same thing and
leaving landmine comments at all three sites. This pass re-derived it
independently from the SDK and agrees.

Three independent confirmations is enough. The value here is the confirmation
itself, not the absence of a fix: it establishes the earlier conclusion was
reasoned rather than an oversight.

Nothing shared with services/acm, despite the adjacent name -- no import in
either direction, so acm's audit carries across nothing.

Closes gopherstack-qrnq

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Four class A findings: three false positives and one real, which is left
unfixed because both remedies need evidence this pass did not have.

Three are the guard-cannot-fire class. CreateActivity and CreateStateMachine
trip does-not-exist guards on ARNs created moments earlier in the same
request, under the same lock. StartSyncExecution re-parses a definition that
CreateStateMachine and UpdateStateMachine already rejected if unparseable, and
every path to a runnable definition traces back to one of those validated
writes. All three are already covered by green tests asserting success.

The real one is DescribeStateMachineForExecution returning
StateMachineDoesNotExist. It declares ExecutionDoesNotExist, InvalidArn and
three KMS codes, and none fits the actual condition -- the execution exists
and its state machine does not. The branch fires after a restore, because
executionDefinitions is deliberately excluded from persistence. Filed as
gopherstack-s9zy; the site carries a comment naming both candidate remedies,
since persisting the definitions would bump the snapshot version and
converting the error to a synthetic 200 needs its own evidence.

Two things the tool did not flag are worth recording. DELETING is never
observable here -- DeleteStateMachine sets the status and deletes the record
in the same locked region -- so StateMachineDeleting can never be emitted and
CreateStateMachine's duplicate-name guard tests dead state
(gopherstack-kx95). And this service resolves only 37 of 205 ops, so the audit
covers 18% of it and cannot be read as a clean bill of health
(gopherstack-2kud).

Comment and documentation only; no behaviour changed.

Closes gopherstack-2hdk

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
gopherstack-8h57 was filed from the 2026-08-31 sweep's deferral note, which
recorded that handleAddTags and handleRemoveTags discarded the backend error
and always returned 200. That was true when written and is not true now:
cff5010 fixed both on 2026-09-04 under gopherstack-to9j, and it is an
ancestor of this branch.

The filing missed it because the very next PARITY.md section already recorded
the fix. Screening a service for a prior sweep is not enough -- the sweep's
own deferrals may have been picked up later in the same file.

Re-verified rather than taken on trust. AddTags declares BaseException,
InternalException, LimitExceededException and ValidationException; RemoveTags
the same minus LimitExceededException. Neither declares a not-found code, so
ValidationException is the right mapping, and it matches services/opensearch's
fix for the same sibling API. Neutering either guard reverts the op to 200 for
an unknown ARN and fails its subtest, so the existing coverage has teeth.

handleListDomainNames is left alone deliberately. Its skip-on-error only ever
runs on names ListDomainNames itself just returned, so a 404 there means a
delete raced between the two calls -- a genuine race, not a caller naming
something that never existed, and defensible as written.

Documentation only; the deferral note now points forward at the fix.

Closes gopherstack-8h57

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Four class A findings, no functional change. Three are false positives and
one is a real mismatch with no clear remedy.

The three -- DescribeACLs, UpdateACL and DescribeUsers -- all reach a shared
helper through a discarded-error call of the form
allClusters, _ := DescribeClusters(ctx, ""), where the name filter is empty
so the not-found guard cannot fire. Existing tests already exercise that
exact call shape against a populated store and pass, so the reasoning is not
merely theoretical. Not class 8: nothing real is being swallowed, the guard
simply has nothing to report.

The fourth is CreateCluster emitting SnapshotNotFoundFault, which it does not
declare. The model is oddly asymmetric here -- it declares a not-found fault
for every other referenced resource, ACL, parameter group, subnet group and
multi-region cluster, but none for the snapshot. That asymmetry is why this
is filed rather than guessed: InvalidParameterValueException is the plausible
answer and the landmine comment names it, but plausible is not the bar.
Filed as gopherstack-2i0c.

The new test pins the current wrong code on purpose and says so in its own
comment, naming the mismatch and the landmine. Five services in this campaign
had tests asserting wrong codes with no such note, which is how those defects
survived earlier passes; a pinning test that does not admit what it pins
becomes the next pass's false evidence.

memorydb resolves 45 of 45 ops, so unlike stepfunctions this result covers
the whole service.

Closes gopherstack-me2v

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Three class A findings across full coverage (29 of 29 ops resolved). One real
bug fixed, one false positive, one real mismatch filed.

DeleteLoadBalancer returned LoadBalancerNotFound for a missing load balancer.
Its deserializer declares no error at all beyond UnknownError, and the doc
comment says why:

  "If the load balancer does not exist or has already been deleted, the call
  to DeleteLoadBalancer still succeeds."   (api_op_DeleteLoadBalancer.go)

That is a semantic sentence about not-found behaviour, of the kind that
justified the workmail fix -- not the response-shape boilerplate that made
codepipeline's three look fixable and were not. It now returns success.

Two pre-existing tests asserted the 400 with no note that it was unverified,
which is the pattern that let this survive earlier passes. Both now assert
success and are renamed to say what they pin.

CreateLoadBalancer's finding is a false positive: the hit is AddTags' own
not-found guard, reached from the post-create inline-Tags call, on a load
balancer created moments earlier in the same request.

DeleteLoadBalancerPolicy emits PolicyNotFound and declares only
InvalidConfigurationRequest and LoadBalancerNotFound. Copying the fix above
would be the obvious move and the wrong one -- that op has no equivalent
doc sentence, in either the pinned comment or the live reference. Filed as
gopherstack-39ip; its pinning test now carries a disclaiming comment.

elbv2 implements these ops independently, so nothing is shared.

Closes gopherstack-5gfl

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Four class A findings, all real, and three share a cause worth naming: a
prior error-mapping pass introduced one global sentinel-to-code rule and
applied it uniformly across ops whose declared catalogs differ.

  CreateProtectionGroup  and TagResource raised ErrSubscriptionRequired,
                         mapped to InvalidOperationException, which neither
                         declares. Both declare ResourceNotFoundException,
                         which also matches DescribeSubscription's real
                         no-subscription behaviour.
  UpdateProtectionGroup  raised ErrLimitExceeded for its member cap, mapped
                         to LimitsExceededException, which it does not
                         declare -- though CreateProtectionGroup's identical
                         check does. Now InvalidParameterException.
  ListAttacks            chained the shared pagination sentinel to
                         InvalidPaginationTokenException, which it alone
                         among its pagination siblings does not declare.

The Create/Update contrast is the whole point: the same check on two ops in
one file needs two different codes, which a table keyed by sentinel cannot
express. Filed as gopherstack-hdvu, since most services map sentinels this
way and the fix is per-call-site rather than per-sentinel.

A pre-existing test pinned the wrong code for the member cap with no note
that it was unverified -- the seventh such test this campaign. It now asserts
the right code, that the wrong one is absent, and that a rejected update
leaves the members unmutated.

ListAttacks still shows as a finding after the fix. The call site checks the
shared helper's sentinel and returns its own, which the tool's one-hop trace
cannot see; the new handler-level test proves the emitted code is right.

Coverage is worth recording: shield resolves 13 of 36 ops before this and 11
after, so the audit covers about a third of the service and emission coverage
is not a progress metric.

Closes gopherstack-g2l5

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Three class A findings across full coverage (79 of 79 ops resolved). Two are
real and share the shape gopherstack-hdvu describes: one sentinel reused
across ops whose declared sets disagree.

CreateCommit's identical-content check raised ErrSameFileContent, mapped to
SameFileContentException. CreateCommit declares NoChangeException and not
SameFileContentException; PutFile declares the opposite. The sentinel was
correct for PutFile all along, so the fix is a new ErrNoChange used only by
CreateCommit rather than a change to the shared mapping.

GetCommit returned ErrCommitNotFound, mapped to CommitDoesNotExistException.
GetCommit declares CommitIdDoesNotExistException instead -- a genuinely
different code, for "the specified commit id does not exist" rather than "no
commit specified and the repository has no default branch". ErrCommitNotFound
stays correct for CreateBranch and the merge family, so again a new sentinel
scoped to the one call site.

Both fixes are per call site. Changing either sentinel's table row would have
broken the ops it was already right for, which is exactly the failure mode
hdvu records.

A pre-existing test asserted CreateCommit's wrong code with no note that it
was unverified -- the eighth this campaign. It now asserts NoChangeException
and is renamed to say what it pins.

BatchGetCommits is a class-1 false positive: its failures are per-entry
document data in a 200 response, not top-level exceptions. Whether the value
it puts there is right is a separate and unevidenced question, filed as
gopherstack-pfyr rather than inferred from GetCommit's parallel.

Closes gopherstack-8pe4

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
…er declare it

Three class A findings across full coverage (8 of 8 ops resolved), all real,
all one cause: a required-field check that is correct for the five ops
declaring InvalidRequestException was copied onto three that do not.

GetResourceRequestStatus declares only RequestTokenNotFoundException, and
CancelResourceRequest only that plus ConcurrentModificationException. Neither
declares InvalidRequestException, so the empty-RequestToken guard is removed
and an empty token now falls through to the same not-found path an unknown
token already took.

ListResourceRequests is the sharper case: it declares no errors at all beyond
UnknownError. An op whose model declares nothing cannot legitimately reject
input, so validateFilter is deleted rather than remapped, and an unrecognized
filter value returns 200 with zero matches. eventMatchesFilter's existing
containment checks already fail such values closed, so nothing is newly
accepted -- the response simply stops being an error the model does not have.

That change is a 400 becoming a 200, which normally needs its own evidence
beyond a declared-set mismatch. Here the mismatch is the evidence: there is no
declared code to move to, and zero declared errors is a positive statement
about the op rather than an omission.

A pre-existing test asserted the 400 for unrecognized enum values -- the ninth
such test this campaign -- and now asserts 200 with zero matches, plus a real
match for valid values so the filter is still pinned in both directions.

None of the three belongs in a ProgressEvent: they are request-shape checks
reaching handleError directly, not provisioning outcomes, so this is unrelated
to the synchronous-completion divergence recorded for this service.

Findings drop from 3 to 0.

Closes gopherstack-v5eb

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Two class A findings: one real, one a false positive.

ListDeliveryStreams declares no exception at all beyond UnknownError, so it
cannot legitimately reject input. It was rejecting an unrecognized
DeliveryStreamType filter with InvalidArgumentException. The validator is
deleted rather than remapped -- there is no declared code to move to, and
zero declared errors is a positive statement about the op. An unrecognized
value now matches no stored stream, which is what any other unmatched filter
value already did. Same shape as cloudcontrol's ListResourceRequests.

Worth noting the validator was also wrong on its own terms: it accepted all
four DeliveryStreamType values, so a filter on MSKAsSource or DatabaseAsSource
had previously errored rather than returning an empty list. Deleting it fixes
both problems at once.

CreateDeliveryStream's finding is a class-4 false positive. The sentinel
references are TagDeliveryStream's and StartDeliveryStreamEncryption's own
not-found guards, and both of those ops do declare ResourceNotFoundException.
handleCreateDeliveryStream calls them with the name it has just created, so
the guard cannot fire -- which is presumably why CreateDeliveryStream's own
declared set has no such code.

A pre-existing test asserted the 400 for a bogus filter with no note that it
was unverified -- the tenth this campaign. It now asserts 200 and that the
bogus filter matches neither existing stream, so the filter stays pinned.

Coverage is worth recording: firehose resolves 12 of 124 ops, so this audit
covers 10% of the service and the tool flags it UNVERIFIED. Two findings
clean is not a clean service.

Closes gopherstack-t2wb

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Two class A findings, both real, both a Describe/List op treating a filter as
a must-exist key.

DescribeRepositoryCreationTemplates declares InvalidParameterException,
ServerException and ValidationException. It emitted TemplateNotFoundException
for an unmatched Prefixes entry. Its siblings DeleteRepositoryCreationTemplate
and UpdateRepositoryCreationTemplate do declare that code, which is the tell:
the delete and update paths key on a template, the describe path filters on
one. An unmatched prefix is now omitted rather than fatal.

ListImageReferrers declares RepositoryNotFoundException but not
ImageNotFoundException, and it emitted the latter for an unknown subject
digest. The repository guard stays and is now pinned by its own test; only the
subject-image guard goes. That also fits this service's already-recorded gap
that referrer edges are unmodelled, so real AWS has nothing to validate the
subject against here.

Same shape as rds DescribeDBClusterEndpoints under gopherstack-33jc, where an
optional filter was likewise treated as a key. Worth watching for on any
Describe or List op.

Two pre-existing tests asserted the wrong behaviour with no note that it was
unverified -- the eleventh and twelfth this campaign. Both now assert 200 with
an empty list and are renamed to say what they pin.

Findings drop from 2 to 0.

Closes gopherstack-jqxg

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Two class A findings, both the same shape and both dismissed.

BatchGrantPermissions and BatchRevokePermissions build an errCode per entry
and return it inside BatchFailureEntry.Error.ErrorCode, in a 200 response
body. That is document data, not a top-level exception, so the op's declared
set does not constrain it. types.ErrorDetail.ErrorCode is a bare *string with
no enum, which confirms AWS models it as free-form.

The extraction is worth recording even though it does not decide the case:
both ops declare InvalidInputException and OperationTimeoutException and not
InternalServiceException, so the flagged code genuinely does not appear in
their exception lists -- it simply lives in a different layer. Reading the
mismatch as a bug would have been the same error as sqs's
ChangeMessageVisibilityBatch under gopherstack-opzq.

Neither is the filter-as-key shape that accounted for four of the last six
real findings; both are mutate ops.

One thing noticed in passing and left alone: the InternalServiceException
branch is unreachable today, since every error path in
grantPermissionsLocked and revokePermissionsLocked wraps ErrValidation and so
takes the InvalidInputException branch. Defensive rather than wrong, and the
field is unconstrained either way.

lakeformation resolves 61 of 61 ops, so this covers the whole service.
No code changed.

Closes gopherstack-4lvy

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
…uses

Two class A findings, both real. One is fixed and one is filed, and the split
is the point.

ListGroupingStatuses declares no NotFoundException while its sibling
ListGroupResources, keying on the same required Group member, does. It is a
List op, so an unknown group now yields an empty result rather than a 404 --
the same forced semantics as rds DescribeDBClusterEndpoints, ecr
ListImageReferrers and firehose ListDeliveryStreams. Three of its tests
asserted the 404 with no note that it was unverified.

CancelTagSyncTask has the identical mismatch and is deliberately left alone.
This pass first fixed it the same way, and that was wrong: a List op's remedy
is forced because there is nothing to return but an empty list, while a mutate
op's is not. Neither candidate survived scrutiny. There is no idempotency
language for it in the live reference or in botocore, only the generic
empty-body boilerplate -- which appears verbatim on this service's own
GetGroup and DeleteGroup, both of which declare NotFoundException and do
error. That is the control experiment that disproved the same boilerplate for
codepipeline, repeated inside this service. BadRequestException is declared
and arguably fits, but nothing establishes unknown-resource to BadRequest as
an AWS pattern.

So CancelTagSyncTask keeps its current behaviour with a landmine comment
naming both candidates, and its tests are restored byte-for-byte, including
the region-isolation test that proves isolation via the not-found error rather
than the weaker no-op assertion the abandoned fix had required. Filed as
gopherstack-t3uf.

Findings drop from 2 to 1.

Closes gopherstack-m4k0

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Witness Patrol and others added 25 commits September 9, 2026 23:11
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
This branch's 98bdada ("ses,sts: emit declared error codes, not invented
ones") changed STS's missing-EncodedMessage rejection from the fabricated
"InvalidParameter" to "MissingParameter". It updated the unit test in
services/sts/ but missed this integration copy, which runs in a separate CI
job the per-package gates never exercise, so integration-tests (0) and (1)
failed:

    test/integration/sts_test.go:515
    "...api error MissingParameter: EncodedMessage is required..."
      does not contain "InvalidParameter"

Re-verified the ground truth independently rather than editing the assertion
to match whatever the code emits, since that is the defect class 98bdada
set out to remove. From botocore's sts/2011-06-15 model:

  DecodeAuthorizationMessage.errors = [InvalidAuthorizationMessageException]
  "The error returned if the message passed to DecodeAuthorizationMessage
   was invalid. This can happen if the token contains invalid characters,
   such as line breaks, or if the message has expired."

That is malformed content, not a missing parameter, and it remains what
authorization_message.go returns for the content path. Neither
"MissingParameter" nor a bare "InvalidParameter" appears anywhere in the STS
model or in sts@v1.45.4 — "MissingParameter" is a generic Query-protocol
frontend code, listed as such in cmd/errtargetaudit/genericcodes.go:28,
which is the correct bucket for a missing required member. The handler maps
ErrMissingEncodedMessage alongside twelve sibling ErrMissingXxx sentinels.

Swept test/integration/ for other assertions the four gopherstack-yatn
clusters could have invalidated: bare "InvalidParameter" had exactly this
one hit, and the SES half of that commit (FilterDoesNotExist) has none.

Gates: golangci-lint ./test/integration/... 0 issues; go vet -tags
integration clean; package compiles.

Closes gopherstack-fahz

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
unit-tests (0) failed with:

    === FAIL: cmd/errcodeaudit TestScanServiceDir_PersonalizeInternalServerExceptionReported
        scan_test.go:326  Error: "0" is not positive

cmd/errcodeaudit and cmd/errtargetaudit read pinned SDK modules straight off
disk as ground truth without importing them. The personalize SDK is imported
only from test files, and the round-robin shard (NR % 4 over `go list ./...`)
put cmd/errcodeaudit in chunk 0 and services/personalize in chunk 2, so
chunk 0 never built anything that pulled the module, never downloaded it,
and the scan came back empty. Merging main added packages, which reshuffled
every assignment and split the two apart; the test and the go.mod pin are
both unchanged.

Chose to make the module present rather than skip the assertion. The
sywi precedent (skipUnlessSDKModuleCached in errtargetaudit) would skip
*probabilistically* here, not permanently: unlike schemas, which no non-test
file imports at all, personalize's module does get downloaded whenever a
package importing it lands in the same chunk. That is a coin flip that
re-rolls on every package-count change, so a skip guard would leave the
gopherstack-oshm regression check running only sometimes.

`go mod download` with no arguments fetches every module go.mod explicitly
requires — 331 of them here, including personalize, personalizeruntime, ecs
and schemas, all direct requires. Verified with `go mod download -json`.
That decouples module presence from chunk membership for the whole class,
and it also makes the existing errtargetaudit schemas skip stop firing, so
that assertion starts running in CI as well.

Reproduced the failure against a mirrored GOMODCACHE missing the module
(exact match to CI), then confirmed `go mod download` repairs it and the
test passes.

Found a second latent instance of the same class while sweeping:
TestScanServiceDir_ECSValidationBar is fragile identically and is masked
today only because cmd/errcodeaudit and services/ecs happen to share chunk
0. It breaks the same way when ecs's module is absent, and this fix covers
it too.

The round-robin sharding still makes any GOMODCACHE-dependent test
order-fragile in principle; this makes that moot for this class rather than
removing it.

Gates: golangci-lint ./cmd/errcodeaudit/... 0 issues; go test -race and
-race -shuffle on -short both ok; ci.yml parses and the step lands between
Set up Go and the shard computation, uniform across all four chunks.

Closes gopherstack-w052

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
integration-tests (2) and (3) failed on three unrelated tests. None is a
regression and none involves the IAM/STS enforcement changes — each is an
integration test missed when a parity fix landed on Sep 4 and updated the
equivalent unit tests but not the integration suite.

apigateway (expected 404, got 403): real API Gateway answers any unmatched
execute-api resource path with 403 "Missing Authentication Token", not 404,
independent of authentication. 6bb4f25 implemented that in proxy.go and
corrected four tests that had codified the wrong status; this one was not
among them. services/apigateway/proxy_test.go:626 already asserts 403 for
the same scenario.

servicediscovery (200/400 apparently inverted): not an inversion. botocore
servicediscovery/2017-03-14 declares DeleteServiceAttributesRequest required
members as [ServiceId, Attributes], and GetServiceAttributes declares only
InvalidInput and ServiceNotFound — there is no "no attributes" error.
50bdbac made DeleteServiceAttributes honour the Attributes key list
instead of silently wiping everything. The test never passed Attributes, so
the delete correctly 400s, the attributes survive, and the follow-up Get
correctly returns 200. Adds a delete-all-then-get unit case.

timestreamwrite (RejectedRecordsException "version conflict"): the message
was a red herring. RejectedRecordsException has three documented causes, and
RejectedRecordsError.Error() hardcoded "due to version conflict" for all of
them. The real cause was a stale fixture timestamp (1609459200000, Jan 2021)
outside the memory-store retention window — 0b15890 added that rejection
and moved about thirty tests inside the window, missing this one. Drops the
misleading clause from the generic message; the per-record Reason still
carries the specific cause, and nothing asserted the old string.

Gates: golangci-lint on the three service packages plus ./test/integration/
0 issues; go test -race on all three ok.

Closes gopherstack-oc21

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
CloudTrail, Textract, EFS and ELB integration tests failed with
S3BucketDoesNotExistException, InvalidS3ObjectException, SubnetNotFound and
InvalidInstance. Not a regression: the tests asserted against resources they
never created, using fabricated identifiers.

  efs_test.go:123        SubnetId: aws.String("subnet-12345678")
  elb_test.go:26         instA = "i-0a0a0a0a0a0a0a0a0"
  cloudtrail_test.go:23  s3Bucket := "test-bucket-"+uuid[:8]   (never created)
  textract_test.go       Bucket: aws.String("it-textract-bucket")

The cross-service validations that reject them are branch-new and correct.
wireCloudTrailS3, wireTextractS3 and wireEFSCrossService are absent from
main's cli.go; wireELBCrossService exists there, but the
b.ec2Resolver.InstanceExists loop in RegisterInstancesWithLoadBalancer is
new. That is why these jobs pass on merged PRs — main has no such check, so
fabricated IDs sail through. Four services failing at once is coincidence of
timing, not a shared cause.

Two earlier hypotheses were investigated and refuted. The
siblingServices/SetAppConfig mechanism is not used by any of the four; they
take narrow S3Backend/EC2Resolver interfaces injected directly from cli.go.
IAM/STS enforcement is not involved: these are in-process Go calls that never
reach EnforcementMiddleware, and the observed codes are AWS-declared business
errors, not AccessDenied.

Each test now creates its prerequisite through the real API — CreateBucket,
CreateBucket+PutObject, CreateVpc+CreateSubnet, RunInstances — and uses the
returned identifiers instead of literals, with cleanup registered so it runs
after the dependent resource is torn down. Textract now generates a unique
bucket per test rather than sharing one literal name across two parallel
tests, since s3 CreateBucket errors on a repeat create.

No production code changed and no validation weakened.

Not executable here: these need Docker, so HTTP dispatch, SigV4 and
container startup stay unverified. The API sequences were matched against
each service's own cross-service unit tests (cloudtrail/s3_delivery_test.go,
textract/s3_object_test.go, efs and elb crossservice_test.go) instead.

Gates: golangci-lint ./test/integration/... 0 issues; go vet -tags
integration clean; package compiles.

Closes gopherstack-3vif

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
terraform-tests (3), (5) and (6) failed on this branch and on Sep 8, before
the merge; shards 0,1,2,4,7 pass. All three are stale fixtures meeting
correct, recently-added validations — no production code is wrong.

The "waiting for SQS Queue" line appearing in all three shards is teardown
collateral, not a shared cause: none of the three fixtures references SQS,
each runTFTest gets its own t.TempDir() and isolated apply/destroy, and each
shard also runs a genuine SQS test in parallel writing into the same
interleaved -v log. Same for the Beanstalk and ECS lines alongside (6).

elbv2: ee559f1 added elbv2.EC2Resolver/validateNetworkRefs, wired live in
cli.go, so CreateLoadBalancer now checks SubnetExists. The fixture used
fabricated subnet-00000001/2 and vpc-00000000 with no matching resources —
real AWS rejects that too. Adds aws_vpc and two aws_subnet, wiring their
real ids into aws_lb.subnets and the target group's vpc_id.

textract: handleDetectDocumentText -> checkS3Object -> HeadObject validates
the referenced object exists. The fixture ran the CLI against a bucket and
key it never created, so the provisioner exited nonzero. Adds
aws_s3_bucket + aws_s3_object with depends_on; the Go verify step reuses the
same bucket/key.

apigatewayv2: the emulator is right and the fixture was wrong. botocore's
CreateIntegrationRequest.IntegrationType doc says verbatim "MOCK: ...
Supported only for WebSocket APIs", which is exactly what
validateIntegrationTypeForProtocol enforces. The fixture built an HTTP API
with a MOCK integration. Switched to HTTP_PROXY with integration_method and
integration_uri; the verify step only checks GetApis lists the API.

Not executable here — no Docker. Correctness rests on reading the live-wired
validation paths, the botocore model, and matching fixture patterns already
proven in this repo. Unverified: end-to-end apply, the AWS provider's
client-side required-field combo for HTTP_PROXY, and aws_s3_object content
round-tripping through the emulator's S3 path.

Gates: golangci-lint ./test/terraform/... 0 issues; go vet clean; package
compiles; tofu fmt -check clean.

Closes gopherstack-w8ka

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Preventive, plus one test that was already broken.

gopherstack-3vif fixed four integration tests that asserted against
resources they never created, once branch-new cross-service validation
started rejecting fabricated identifiers. The same pattern remained in
eks, fsx, mwaa and resiliencehub, passing only because those services do
not validate subnets yet. When any gains an EC2Resolver.SubnetExists check
— exactly what EFS just got — they would fail identically, and the failure
reads as a cross-service wiring regression rather than a stale fixture.
That misreading cost real time on 3vif.

Each now creates a real VPC and subnet through ec2Client and uses the
returned id, following efs_test.go's cleanup ordering so subnet/VPC
teardown runs after the dependent resource. CIDRs use 172.20-172.29
because CreateVpc rejects overlapping ranges across concurrently-live VPCs
and every 10.x range was already taken by other parallel tests.

ALREADY BROKEN, not latent: TestIntegration_MWAA_InvokeRestApi's two
non-error subtests and TestIntegration_MWAA_PublishMetrics's one call
CreateEnvironment with no NetworkConfiguration at all, then require.NoError.
validateNetworkConfigCreate (services/mwaa/validation.go:203) rejects a nil
NetworkConfiguration unconditionally, so those subtests fail every run.
MWAA's own unit tests were updated to always send one; the integration test
was left stale. All three call sites now send 2 real subnets.

Deliberately not changed: sg-12345678 in mwaa (only the count is validated,
1-5, and no EC2Resolver exists for security groups) and ami- literals
everywhere (services/ec2 has no AMI registry at all — structural, not a
per-service latent bug). resiliencehub's "i-doesnotexist" literals are
intentional not-found fixtures.

Swept the rest of test/integration/ and recorded the findings in
gopherstack-1o31: subnet- literals remain in apigatewayv2, dax, kafka, rds,
route53resolver, vpclattice and grafana tests, all same-shape risk;
elbv2_test.go uses vpc-00000001 while already creating real subnets in the
same file; lambda_new_ops_test.go is not at risk since it runs against an
isolated in-process backend that cli.go's wiring never reaches.

Not executable here — no Docker. Verified by reading each service's
validation for format/count/existence checks that could reject the new
inputs, and by compile, vet and lint.

Gates: golangci-lint ./test/integration/... 0 issues; go vet -tags
integration clean; package compiles.

Closes gopherstack-1o31

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
unit-tests (1) intermittently failed on "server did not shut down within
timeout" (cli_test.go, eight sites). Pre-existing: it failed on Sep 8 before
the merge, with two different tests hitting it in one run.

Root cause: shutdownTimeout (5s) was re-armed three times in sequence.
startServer's server.Shutdown got a fresh 5s; lambdaCloseFn got another;
shutdownServices via shutdownBackends got a third. All three run
sequentially — stages two and three execute in run()'s deferred
shutdownBackends, after startServer has already returned — so worst-case
teardown could take ~15s while every test budgeted 5s.

Captured evidence: "Shutting down server..." logged at 00:34:34.813, the
first "shutting down service" line not until ~00:34:39, with FailNow at
5.56s — the third stage began essentially as the test's single window
expired.

Adds CLI.shutdownDeadline, set once when ctx is first observed done and
threaded through shutdownBackends/lambdaCloseFn/shutdownServices, so the
whole sequence honours one budget. A zero value means the HTTP server never
observed cancellation (e.g. it failed to bind) and there is no clock to
share.

The test-side wait moves from a literal 5s to shutdownWaitTimeout
(shutdownTimeout + 3s). This is a relaxation and worth naming as such: the
wait was byte-for-byte equal to the production budget it was waiting on, so
it lost to scheduling and channel-propagation overhead even when shutdown
finished on time. The require.NoError branch is untouched, so a genuine
shutdown error still fails the test.

Reproduced pre-fix under 4-way and 15-way concurrent load; post-fix that
failure mode is gone (0/32).

A second, distinct defect was found and deliberately NOT fixed here:
services/cloudfront and services/elbv2 each spawn a reconciler goroutine at
construction and neither Handler implements service.Shutdowner, so their
Close() is never called and every run() leaks two goroutines (measured:
NumGoroutine 115->137 over 12 cycles). That is the leading explanation for
the residual "context deadline exceeded" from server.Shutdown itself, which
arrives fast rather than late and no test timeout can mask. Filed as
gopherstack-7z8r rather than fixed inside this commit.

Gates: go build ./... clean; go vet . clean; golangci-lint run . 0 issues.

Closes gopherstack-becu

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
…utdown

Both backends spawn a reconciler goroutine at construction
(cloudfront/store.go runInvalidationReconciler, elbv2/store.go
runHealthReconciler), and both have a working stopCh/Close(). But neither
Handler implemented service.Shutdowner, and cli.go's shutdownServices only
calls Shutdown on services satisfying that interface, so Close() was never
reached. Every run() leaked two goroutines — measured at NumGoroutine
115->137 over 12 cycles. That affects anyone embedding or repeatedly
starting the emulator, not just tests.

Adds Shutdown(ctx) to both, patterned on the existing implementations in
services/eks and services/networkmanager. elbv2's Handler.Backend is typed
as the StorageBackend interface rather than a concrete type, so its Shutdown
type-asserts a small optional `closer` interface instead — adding Close() to
StorageBackend would mix lifecycle into a domain interface.

Close() was already idempotent on both (guarded close(stopCh)), but neither
JOINED the reconciler: Close() returned as soon as it signalled, so a caller
could believe teardown was complete while the goroutine was still unwinding.
That matters now that cli.go shares one deadline across teardown stages, so
each backend adds a done channel closed by the reconciler on exit, and
Close() waits on it.

Regression tests type-assert any(h).(service.Shutdowner) — the exact
mechanism shutdownServices uses — so they compile against the unfixed
Handler and fail at runtime rather than at build time. Verified by
neutering: renaming Shutdown so it no longer satisfies the interface leaves
the package compiling and fails the test with "cloudfront.Handler must
implement service.Shutdowner so cli.go's shutdownServices reaches it".
Both tests are deliberately sequential with //nolint:paralleltest, since
runtime.NumGoroutine() is process-wide and a parallel counter assertion is
itself flaky.

Swept for other constructors spawning goroutines: these two were the only
ones. Others start reconcilers lazily via an explicit Start*/ensure* call,
or use pkgs/worker.Group, whose Stop() already waits. The 46 worker.Group
call sites were not individually audited for correct Shutdown wiring — that
is a broader task worth its own pass.

Gates: golangci-lint 0 issues; go build ./... ok; go test -race on both
packages 3/3 runs; full go test ./services/... exit 0.

Closes gopherstack-7z8r

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
…stack

The regression tests added in 7c08b5b were themselves flaky and failed CI
on the next run:

    services/cloudfront/shutdown_leak_test.go:60
    "299" is not less than or equal to "298"

Nothing leaked. They asserted a delta on runtime.NumGoroutine(), which is
process-wide: the whole package runs in one binary under -race -shuffle on,
so any unrelated goroutine starting or still unwinding between the two
samples moves the count. A baseline of 298 shows how much else was in
flight; the +1 was noise.

Making the tests sequential was not enough — sequential-within-the-package
does not stop other goroutines in the same process from moving a global.

Now counts only goroutines whose runtime.Stack frame names the reconciler
(runInvalidationReconciler / runHealthReconciler), so unrelated activity
cannot perturb it. Baseline drops from ~298 to 0, which is the point.
goleak was considered and rejected: its own docs call VerifyNone
incompatible with parallel tests for this same attribution problem.
require.Eventually absorbs the brief window between the done channel closing
and the goroutine unwinding off the stack — safe here because Eventually's
own polling goroutine never matches the reconciler frame, which is exactly
what made it unusable against NumGoroutine().

Both properties that made these tests worth having are preserved, and I
verified each by neutering rather than trusting the report:

  Shutdown renamed so it no longer satisfies service.Shutdowner — package
  still compiles, test fails with "cloudfront.Handler must implement
  service.Shutdowner so cli.go's shutdownServices reaches it".

  Shutdown kept but emptied so Close() is never called — package still
  compiles, test fails with "invalidation reconciler goroutine leaked after
  12 construct/shutdown cycles (baseline=0)".

The second is the one that matters: it proves the test detects a real leak,
not merely a missing interface.

No production file has a net diff; the 7z8r fix is unchanged.

Gates: golangci-lint 0 issues; 12/12 passes under CI's own flags
(-race -shuffle on -short -timeout 5m), since passing once is how the
original shipped.

Closes gopherstack-ndss

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
…loor

TestHealthCmd_Success and TestLocalstackCompatibilityEndpoints failed with
"context deadline exceeded" from server.Shutdown itself — the require.NoError
branch, not the test's timeout branch.

I suspected my own 3de7de0 (sharing one deadline across the three teardown
stages) had converted a slow-but-successful shutdown into a returned error.
That was wrong. Stage 1's effective budget is unchanged: the shared deadline
is computed as time.Now().Add(shutdownTimeout) at the instant ctx.Done fires,
which is what WithTimeout did before. Stage timings confirm stages 2 and 3
are irrelevant here — lambdaCloseFn runs in 27-70us and shutdownServices in
280us-1.3ms, every time. Stage 1 either finishes in ~80-200us or consumes the
entire budget.

The real cause is in the standard library. net/http/server.go:3309:

    // Issue 22682: treat StateNew connections as if
    // they're idle if we haven't read the first request's
    // header in over 5 seconds.
    if st == StateNew && unixSec < time.Now().Unix()-5 {

A connection accepted but never read from is not closable by Shutdown until
it is more than 5 seconds old. That constant is unexported and
unconfigurable. shutdownTimeout was also exactly 5s, so any such connection
raced the stdlib's own floor with zero margin, decided by scheduler jitter —
which is why it was intermittent and load-dependent. A goroutine dump plus a
ConnState hook confirmed the stalling connection sits in StateNew, never
reaching active or idle, until forcibly closed.

Both tests poll /health under require.Eventually, so a pooled connection
racing shutdown is ordinary, not pathological. A real caller polling health
as SIGTERM arrives could hit the same thing.

8s clears the stdlib floor's worst case (~5s + up to 1s of Unix-second
truncation slop + 500ms poll granularity) with margin; measured stalls topped
out at 5.34s over ~190 runs under concurrent -race load. shutdownWaitTimeout
in cli_test.go derives from this constant and was not touched.

3de7de0 stands: it fixed a real stacking bug, and widening the test-side
wait let this pre-existing defect surface as a distinct error instead of
being swallowed into the same "did not shut down" bucket. Reverting it would
re-merge the two failure modes.

Before: 8 failures / 94 runs. After: 0 / 144, and 0/10 locally here.

Separately found and filed rather than fixed: six services (directconnect,
mgn, outposts, lightsail, resiliencehub, grafana) wire worker.Group Stop into
Close() but their Handler lacks Shutdowner, so it is never called — the same
class as gopherstack-7z8r.

Gates: golangci-lint run . 0 issues; go vet . clean; go build ./... ok.

Closes gopherstack-s01e

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
directconnect, mgn, outposts, lightsail, resiliencehub and grafana each
construct a pkgs/worker.Group and correctly wire Close() to work.Stop(), but
no Handler implemented service.Shutdowner. cli.go's shutdownServices only
calls Shutdown on services satisfying that interface, so Close() was never
reached. Same class as gopherstack-7z8r, and the fix is copied from it:

    func (h *Handler) Shutdown(_ context.Context) { h.Backend.Close() }
    var _ service.Shutdowner = (*Handler)(nil)

All six were verified against the three criteria before being touched, since
the list came from an audit rather than direct inspection. All six matched:
Group constructed in NewInMemoryBackend, Close() is exactly work.Stop(), no
pre-existing Shutdown. worker.Group.Stop() does cancel + wg.Wait(), so it
genuinely joins.

The bug is a different flavour from cloudfront/elbv2, and the issue I filed
described it wrongly. None of these six ever call Group.Go or Group.Ticker —
they use only Group.After, one-shot timers. So there is no persistent
goroutine sitting blocked; what leaks is scheduled state transitions firing
and mutating backend state after the service was supposedly shut down.
directconnect/bgpfailover.go:70 schedules on a caller-supplied minute-scale
duration, so a timer can fire long after teardown.

That also ruled out the stack-frame counting used for cloudfront/elbv2: a
timer callback is not a goroutine until it fires, and then it exits in under
a microsecond, so matching on runtime.Stack would be racy — the exact
flakiness class of gopherstack-ndss. Instead each test arms a probe timer on
the backend's Group after Shutdown and asserts it never fires, which works
because Group.After no-ops once stopped (pkgs/worker/group.go:149). Verified
under testing/synctest, matching pkgs/worker's own
TestGroupAfterIsNoOpAfterStop.

Each test keeps the any(h).(service.Shutdowner) assertion, so it compiles
against an unfixed Handler and fails at runtime rather than at build time.
Both neuters were run per package; I re-ran the second myself on
directconnect, which is the one that proves the leak check rather than the
interface assertion:

    probe timer fired after Shutdown: worker.Group was never stopped, so
    scheduled-transition timers leak past service shutdown

ArmProbeTimerForTest is added via export_test.go in each package — the
repo's existing idiom for reaching an unexported field from an external test
package, already used for RenewalIdempotencyLenForTest and
SeedOperationForTest. The two pre-existing export_test.go files were
appended to only; nothing they already exported changed. These files are
excluded from go build, so nothing reaches the production API.

Gates: golangci-lint on all six 0 issues; go test -race on all six ok;
10/10 under CI's flags (-race -shuffle on -short); go build ./... clean.

Closes gopherstack-s1ho

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
integration-tests (1) failed once on TestIntegration_Kinesis_EnhancedFanOut:

    kinesis_test.go:369
    read tcp [::1]:54726->[::1]:32770: use of closed network connection

Investigated and found no isolable defect. Recording the evidence and adding
coverage rather than changing behaviour.

The handler bounds a subscription two ways (handler_consumers.go:279-288): a
5-minute hard deadline, matching the SDK's own "for up to 5 minutes"
(api_op_SubscribeToShard.go:22), and an idle-close after 3 empty 200ms polls.
The idle path returns nil from the handler, which finishes the chunked body
normally; the SDK's event-stream reader treats that as io.EOF and closes the
channel with no error set. "use of closed network connection" is a
net.OpError from reading an already-closed socket, which needs something more
abrupt than an ordinary handler return.

The polling emulation is disclosed, not hidden: PARITY.md already lists
"Enhanced fan-out SubscribeToShard real streaming cadence / HTTP2 push
semantics beyond the polling emulation" under deferred. It is also
load-bearing — consumers_test.go:86 TestSubscribeToShard_StreamClosesAfterIdle
drives the handler synchronously through a ResponseRecorder and would hang on
a 5-minute clock.

No in-range commit reaches this path. c56c2ff, 724ce9b and 6a69563 touch
Reset defaults and Lambda ESM ARN parsing, not handler_consumers.go, and the
shutdown work (3de7de0, cc4dae6, 9596bc1) does not touch kinesis at all
— kinesis has no worker.Group and was in neither Shutdowner list. The
container also serves continuously during the test, so teardown timing is moot.

The new test drives a real AWS SDK client over real TCP (httptest.NewServer
rather than the ResponseRecorder most kinesis tests use) through the same
sequence as the failing integration test, and asserts stream.Err() is nil
after the idle close. 8x plain, 25x under -race, plus whole-package runs under
GOMAXPROCS=2: zero failures. That is coverage for the graceful path, not a
reproduction of the CI failure.

Not verifiable here: no Docker, so the containerised network path where the
failure actually occurred was never exercised. The abrupt-close mechanism is
inferred, not observed.

gopherstack-j60e stays OPEN, not closed as fixed, and is linked to the
existing gopherstack-i8q7 (a kinesis SubscribeToShard flake reproduced once in
1500+ runs, still open after ~540 further executions with no repro). Note the
symptoms differ — i8q7 is a missing record, this is a connection error — so
they are siblings in the same area rather than confirmed duplicates.

Gates: golangci-lint ./services/kinesis/... 0 issues; go test -race 8/8.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
@agbishop

agbishop commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator Author

📊 Code Coverage Report

Metric Value Status
Total Coverage 100.0%
0.0%
75.0%
0.0%
90.4%
New Code Coverage N/A (0/0 stmts)

Tip

This project maintains a minimum coverage threshold of 85%. Maintain or improve coverage on new code to ensure long-term stability.


Last updated: Thu, 10 Sep 2026 15:13:41 GMT

Witness Patrol and others added 2 commits September 10, 2026 09:35
…ases

CodeFactor is a required status check under repository ruleset 22245006, and
it was the only non-passing check on PR #2452 — every other required context,
including coverage, passes. Its one finding was "Complex Method" on
tagCleanupCases:

    tags_delete_cleanup_test.go:22:1: cognitive complexity 50 of func
    `tagCleanupCases` is high (> 30) (gocognit)

gopherstack-kf9j previously concluded this was advisory and recorded "do not
fix". That rested on a factual error: it checked classic branch protection,
which 404s for this repo, and missed the ruleset that requires CodeFactor.
The issue has been corrected.

The complexity was not inherent to the table. All 23 create closures repeated

    out, err := b.CreateXxx(...)
    if err != nil { return "", err }
    return out.XxxARN, nil

so gocognit counted the same branch 23 times, each nested inside a composite
literal and therefore weighted twice. Extracting it into one generic helper
removes every one of those branches from the literal:

    func arnOrErr[T any](out T, err error, arn func(T) string) (string, error)

topic_rule keeps its own if — CreateTopicRule returns only an error, so it
needs a separate GetTopicRule to obtain the ARN — and thing_type's two-step
deprecate-then-delete is untouched. Those are real variations, left as they
are rather than forced through the helper.

Not done, deliberately: no splitting the table into chunks, no scattering
entries across files, no //nolint. Those game the metric and make the table
worse, which is what kf9j was right to guard against; removing duplication is
a different act from partitioning to dodge a count.

All 23 cases survive unchanged — the extracted name lists are byte-identical
before and after, and both consuming tests still run 23 subtests each.

funlen still fires on this function under --no-config (249 lines > 60), but
it is a raw line count, not complexity; it was not part of CodeFactor's
finding, .golangci.yml:587-599 already excludes it for _test.go repo-wide,
and it fires on 47 sites across this package. Left alone.

Gates: gocognit finding gone; golangci-lint ./services/iot/... 0 issues;
cyclop, gocyclo and dupl clean on this file; go test -race ok; go vet clean;
48 PASS lines (23 subtests x 2 parent tests, plus the parents).

Closes gopherstack-kf9j

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuRbN6tdkW27u2PFP46N1m
@agbishop
agbishop merged commit 4d3e790 into main Sep 10, 2026
40 checks passed
@agbishop
agbishop deleted the chore/parity-sweep-2026-09-03 branch September 10, 2026 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant